您可以使用wx.lib.buttons
庫,儘管按鈕可能有點簡單。
然而,@RobinDunn指出,他應該知道,從版本2.9.1開始,wx.Button支持同時顯示文本和圖像(當前僅在使用wxMSW,wxGTK或OSX/Cocoa端口時)。
在Linux上,我必須確保我desktop settings
已成立Show Icons on Buttons
或僅使用wx.Button
不顯示圖像的第2個方法。
使用第二種方法,按鈕看起來更漂亮,失去了平坦的外觀。
import wx
import wx.lib.buttons as buts
class TestFrame(wx.Frame):
def __init__(self, *args, **kwargs):
wx.Frame.__init__(self, *args, **kwargs)
pause_button = buts.GenBitmapTextButton(self, -1, bitmap=wx.Bitmap("pause.png"), label= "Pause")
play_button = buts.GenBitmapTextButton(self, -1, bitmap=wx.Bitmap("play.png"), label= "Play")
time_button = wx.Button(self, -1, label= "Time")
time_button.SetBitmap(wx.Bitmap("toggle1.png"),wx.RIGHT)
box = wx.BoxSizer(wx.HORIZONTAL)
box.Add(pause_button, 0, wx.CENTER | wx.ALL,10)
box.Add(play_button, 0, wx.CENTER | wx.ALL,10)
box.Add(time_button, 0, wx.CENTER | wx.ALL,10)
self.SetSizerAndFit(box)
self.Bind(wx.EVT_CLOSE, self.OnCloseWindow)
pause_button.Bind(wx.EVT_BUTTON, self.OnPause)
play_button.Bind(wx.EVT_BUTTON, self.OnPlay)
time_button.Bind(wx.EVT_BUTTON, self.OnTime)
self.Show()
def OnCloseWindow(self, event):
self.Destroy()
def OnPause(self, event):
print "Pause pressed"
def OnPlay(self, event):
print "Play pressed"
def OnTime(self, event):
print "Time pressed"
if __name__ == "__main__":
app = wx.App()
frame = TestFrame(None, -1, "wxBitmap Test")
app.MainLoop()
是的,您還可以設置標籤位於哪個位置。 – RobinDunn