要注意一点,一般都是用panel来装其他的控件,不用panel装也可以,就是会非常丑
下图就是直接把button放到frame里的效果
完整代码如下,包括按键触发事件的关联
import wx class ButtonFrame(wx.Frame): def __init__(self,parent=None,id=-1): wx.Frame.__init__(self,parent,id,title="Button Example",size=(300,100)) # 创建panel存放button panel=wx.Panel(self,-1) # panel.SetBackgroundColour("Red") self.button=wx.Button(panel,-1,"Hello",pos=(50,20)) # 设置点击触发事件 self.Bind(wx.EVT_BUTTON,self.OnClick,self.button) # 将button置于panel的顶层 self.button.SetDefault() self.flag=0 def OnClick(self,event): if self.flag==0: self.button.SetLabel("Clicked") self.flag=1 else: self.button.SetLabel("Hello") self.flag=0 if __name__=="__main__": app=wx.App() frame=ButtonFrame() frame.Show() app.MainLoop()