wxpython,根据控件名称查找控件
我在想,是否可以根据控件的名字来获取这个控件的引用。(我相信这是可能的)
就像这样:control = findcontrol("btnProduct"+buttonNumber)
你们大概明白我的意思了吧……(是的,我在wxPython方面还是个新手)
祝好,
Dennis
3 个回答
1
了解一下Python中的 locals() 和 globals() 函数。
比如你可以这样做:
control = locals()['btnProduct' + buttonNumber]
当然,可能还有更好的方法来实现你想要的功能。也许可以把你的控制项放进一个字典里?
3
你可以使用框架实例的 FindWindowByName() 方法,前提是你给这个小部件传递了一个独特的名字参数。或者,你也可以使用框架实例的 FindWindowByLabel() 方法来查找。你还可以通过 ID 来查找,但我不太推荐这样做,因为自己管理 ID 其实不是个好主意。
2
最后我得到了这个:
control = getattr(self, "btnProduct%s" % (str(buttonNo)))
control.SetLabel("")
谢谢Mark帮我指明了方向!