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