2012-01-27 16 views
1

私はボタンを押すことを試みています。パネル上のテキストを変更しますが、別の機能から変更します。wxPythonボタンがパネル上のテキストを変更します

例:

status=wx.StaticText(panel,label="Yes",pos=(95,5),size=(50,20)) 
change=wx.Button(panel,label="Change",pos=(115,45),size=(50,20)) 
self.Bind(wx.EVT_BUTTON, self.changed, change) 
def changed(self,event): 
have it change the label to "no". 

おかげ

答えて

2

使用​​:助けを

import wx 
class MyFrame(wx.Frame): 
    def __init__(self, parent, title): 
     wx.Frame.__init__(self, parent, title = title, size = (200, -1)) 
     self.state = 'Yes' 
     self.panel = wx.Panel(self) 
     self.status = wx.StaticText(self.panel, label = self.state, 
           pos = (95, 5), size = (50, 20)) 
     self.button = wx.Button(self.panel, label = 'Change', 
           pos = (115, 45), size = (50, 20)) 
     self.Bind(wx.EVT_BUTTON, self.changed, self.button) 
    def changed(self, event): 
     self.state = 'Yes' if self.state == 'No' else 'No' 
     self.status.SetLabel(self.state)    

app = wx.App(False) 
frame = MyFrame(None, "Hello") 
frame.Show() 
app.MainLoop() 
+0

感謝。 – user1152873

関連する問題