|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 坐等回答 于 2020-5-15 15:58 编辑
python的wxpython模块的触发函数调用初始化函数中定义的控件失败,请问大神们应该如何调用呢?
部分代码如下
- class Frame1(wx.Frame):
- def __init__(self,superior): 重定义__init__函数
- wx.Frame.__init__(self,parent=superior,title="信息可视化",pos=(100,200),size=(350,200)) #创建frame
- panel=wx.Panel(self) #创建panel
- boxx=wx.BoxSizer(wx.HORIZONTAL) #创建boxsizer
- button=wx.Button(panel,label="确定") #创建button
- boxx.Add(button,1) #将按钮放入sizer中
- tc=wx.TextCtrl(panel) #创建textctrl
- boxx.Add(tc,1) #将输入框放进sizer中
- self.Bind(wx.EVT_BUTTON,self.Select,button) #将按钮捆绑select函数
- def Select(self,event): #获得输入框内容函数
- a=frame.tc.GetValue() #获得输入框内容 ,此处出错,不知如何调用
- frame.tc.Clear() #将输入框内容清空,出错
- if __name__=='__main__':
- app=wx.App()
- frame=Frame1(None)
- frame.Show(True)
- app.MainLoop()
复制代码
出现
- a=frame.tc.GetValue()
- AttributeError: 'Frame1' object has no attribute 'tc'
复制代码
错误,请教大神应该如何调用这个输入框
- self.tc=wx.TextCtrl(panel)
- boxx.Add(self.tc,1)
复制代码
加上 self 即可
|
|