wxpython,根据名称查找控件

时间:2011-05-18 18:39:40

标签: python wxpython

我想知道是否有可能(我确定是)可以根据控件的名称获取对控件的引用。

control = findcontrol("btnProduct"+buttonNumber)

这样的东西

你可能会抓住我的漂移......(是的,我是wxPython的新手)

此致

丹尼斯

3 个答案:

答案 0 :(得分:2)

阅读python locals() and globals()函数。

例如你可以:

control = locals()['btnProduct' + buttonNumber]

当然,他们可能是一个更好的方式来做你想要的。把控件放到字典里可能吗?

答案 1 :(得分:2)

最后我最终得到了这个:

        control = getattr(self, "btnProduct%s" % (str(buttonNo)))
        control.SetLabel("")

感谢Mark带领我朝着正确的方向前进!

答案 2 :(得分:2)

您可以使用框架实例的FindWindowByName()方法,假设您将唯一的名称参数传递给窗口小部件,或者您可以使用框架实例的FindWindowByLabel()方法。您也可以通过id找到,但我不建议您这样做,因为最好不要自己管理ID。