wxpython 事件处理的参数传递 10

我用wxpython做一个小工具的界面,有一个topwindow在topwindow的menu里面点击按钮的时候会产生一个子frame(二级frame),如图所示:其中s... 我用wxpython做一个小工具的界面,有一个topwindow在topwindow的menu里面点击按钮的时候会产生一个子frame(二级frame),如图所示:
其中self代表topwindow(一级frame), mol_frame代表由topwindow产生的如图所示的子frame(二级frame),mol_frame中包含两个button:search和view,我想点击view按钮的时候获取文本框中的用户输入
由于这个框是用户点击topwindow中按钮生成的,所以所有的部件都是在一个事件响应函数中生成的:
def onGetMol(self,evt):
文本框我这样生成:mol_frame.drugIDorPath=wx.TextCtrl(mol_panel)
view按钮这样生成:mol_frame.viewbutton=wx.Button(mol_panel,label='view')

在onGetMol函数中事件绑定这样写的:
mol_frame.Bind(wx.EVT_BUTTON,self.onview,mol_frame.viewbutton)
onview事件处理我这样写的(并且是和GetMol函数处于同一个层级):
def onview(mol_frame,evt): mol_file_path=mol_frame.drugIDorPath.GetLabelText() print mol_file_path

运行点击view以后会说

是无法获取子frame(也就是二级frame)中的文本框么?
应该怎么处理呢?
跪求大神指导!万分感激!!!!
展开
 我来答
百度网友57c441c
2014-12-15 · TA获得超过307个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:219万
展开全部
问题出在事件的对象是按钮,不是frame,当然取不到。。。
两个办法吧,第一个把你的mol_frame改成成员变量,self.mol_frame;第二个办法把mol_frame写成一个类,独立来调用。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式