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 支持在按钮上显示图像。只需稍微更改即可在按钮上显示图像。虽然该函数名为 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()
输出: