点击我的“浏览”按钮,文本框“tc1”中的文字不会改变。我得到一个控制台错误“全局名称'tc1'未定义”。我只想在单击button1
时更改tc1的文本蟒:
def InitUI(self):
panel = wx.Panel(self)
button1 = wx.Button(panel, label="Browse...")
button1.Bind(wx.EVT_BUTTON, self.OnBrowse)
tc1 = wx.TextCtrl(panel, -1, "Text")
def OnBrowse(self, event):
return tc1.SetValue("New Text")
答案 0 :(得分:1)
你必须将其声明为全局
这应该是类
self.tc1 = None
def InitUI(self):
button1 = wx.Button(panel, label="Browse...")
button1.Bind(wx.EVT_BUTTON, self.OnBrowse)
self.tc1 = wx.TextCtrl(panel, -1, "Text")
def OnBrowse(self, event):
return self.tc1.SetValue("New Text")
答案 1 :(得分:1)
您正在为GUI定义一个类,而TextCtrl
是该GUI的一部分,因此我认为将tc1
作为self
的属性是有意义的:
def InitUI(self):
...
self.tc1 = wx.TextCtrl(panel, -1, "Text")
def OnBrowse(self, event):
return self.tc1.SetValue("New Text")