图片更换,panel一定要刷新
import wx
class MyFrame(wx.Frame):
eve = 0
def __init__(self):
super().__init__(parent=None,title="vbox",size=(500,200),pos=(100,100)) #继承wx.Frame类
self.Center()
self.panel = wx.Panel(parent=self) #面板
vbox = wx.BoxSizer(wx.VERTICAL)
self.bmps=[
wx.Bitmap('2108470.png',wx.BITMAP_TYPE_PNG),
wx.Bitmap('4564204.png', wx.BITMAP_TYPE_PNG)
]
self.image=wx.StaticBitmap(self.panel,-1,self.bmps[0])
b1=wx.Button(self.panel,id=1,label='变换图片')
self.Bind(wx.EVT_BUTTON,self.on_click,b1)
vbox.Add(b1,1,wx.CENTER)
vbox.Add(self.image,5,wx.CENTER)
self.panel.SetSizer(vbox)
def on_click(self,event):
event_id = event.GetId()
if self.eve % 2 == 0:
self.image.SetBitmap(self.bmps[1])
else:
self.image.SetBitmap(self.bmps[0])
self.eve = self.eve + 1
self.panel.Layout()
# 界面刷新
class App(wx.App):
def OnInit(self): #进入
frame = MyFrame()
frame.Show()
return True
def OnExit(self): #退出
print("tuichu")
return 0
if __name__ == '__main__':
app=App()
app.MainLoop()