如何让Python通过标签识别GUI按钮

我们雇佣的承包商告诉我们,Python只能通过它们的ID来识别图形用户界面对象,特别是按钮。这是非常不方便和困难的,因为按钮ID在不同版本之间变化很大。相反,我想通过"保存"、"预览"或"提交"之类的标签来引用按钮。有人知道我怎样才能做到这一点吗?
我们使用ActiveState ActivePython2.6.4.8(32位)、wxPython2.8.10.1和PyScripter2.3.3。
在THX之前,
克里斯托弗

# 回答1


我想说你的承包商可能是对的,假设他的意思是给图形用户界面对象分配一个描述性的标识符,而不是文字ID(Master Frame vs.18497168)。不过,我对wxPython了解不多。在Tkinter中,您可以使用小部件方法winfo_Child()访问主小部件的小部件,迭代图形用户界面对象,使用CONFIGURE()访问每个对象的选项字典,并查找具有适当值的文本属性。对我来说,这似乎是太多的工作。
也许您应该考虑重构您的代码,以便在构建之间更容易维护。
# 回答2


这几乎就是WxPython的工作方式。查看http://zetcode.com/wxpython/events/上的窗口标识符(按钮在WxPython中是一个窗口)部分,以获得更好的想法。
有一个方法GetID()允许检索小部件的id。所以我不知道这会不会是一场闹剧。还有WX_EXIT、EX_SAVE等标准标识符。
最终,您始终可以在词典中将标签映射到它们的ID。但我会让WxPython来做它的业务逻辑。

标签: python

添加新评论