wxPython 按钮

要创建按钮,只需调用 wx.Button()。使用 wx.Button() 创建按钮时,将面板解析为第一个参数非常重要。我们将它连接到面板上,因为连接到框架会使其全屏显示。

面板使你可以选择将窗口小部件放置在窗口中的任何位置。参数(10,10)是面板上的位置。id 参数是必需的,但它等于-1(wx.ID_ANY == -1)。第 3 个参数是按钮上的文本。

你可以使用以下代码在 wxPython 中创建一个按钮 :

#!/usr/bin/python
 
import wx
 
def onButton(event):
    print "Button pressed."
 
app = wx.App()
frame = wx.Frame(None, -1, 'win.py')
frame.SetDimensions(0,0,200,50)
 
panel = wx.Panel(frame, wx.ID_ANY)
button = wx.Button(panel, wx.ID_ANY, 'Test', (10, 10))
button.Bind(wx.EVT_BUTTON, onButton)
 
frame.Show()
frame.Centre()
app.MainLoop()

如果按下按钮,则会调用 onButton() 函数。我们用 button.Bind(wx.EVT_BUTTON,onButton)绑定(连接)它。

输出:

使用 wxPython 创建 Buton

按钮

上的图像 wxPython 支持在按钮上显示图像。只需稍微更改即可在按钮上显示图像。虽然该函数名为 wx.BitmapButton,但它支持其他图像格式。

bmp = wx.Bitmap("call-start.png", wx.BITMAP_TYPE_ANY)
button = wx.BitmapButton(panel, id=wx.ID_ANY, bitmap=bmp,
                          size=(bmp.GetWidth()+10, bmp.GetHeight()+10))

第一行加载图像,第二行创建按钮。

完整代码:

#!/usr/bin/python
 
import wx
 
def onButton(event):
    print "Button pressed."
 
app = wx.App()
frame = wx.Frame(None, -1, 'win.py')
frame.SetDimensions(0,0,200,70)
panel = wx.Panel(frame, wx.ID_ANY)
 
bmp = wx.Bitmap("call-start.png", wx.BITMAP_TYPE_ANY)
button = wx.BitmapButton(panel, id=wx.ID_ANY, bitmap=bmp,
                          size=(bmp.GetWidth()+10, bmp.GetHeight()+10))
 
button.Bind(wx.EVT_BUTTON, onButton)
button.SetPosition((10,10))
 
frame.Show()
frame.Centre()
app.MainLoop()

输出:

wxButton