【发布时间】:2015-12-16 09:40:48
【问题描述】:
我经常发现自己想要在 wxFormbuilder 中创建多个 wx.StaticText 或其他一些小部件并能够动态引用这些小部件。假设我有许多名为 a0 到 a10 的静态文本
我将如何在代码中找到它们?
一种方法是做一个包含所有变量的列表,但它很难看,感觉效率低下?也许不会,但至少代码到处都是长长的列表。
def updateLabels(self, data):
guiLabels = [self.a0, self.a1, self.a2 ..... ]
for i in range(len(guiLabels)):
guiLabels[i].SetLabel(data[i)
你如何解决这个问题?
另一种选择是在启动应用程序时创建 guiLabels 列表。但是,我在找到它们时遇到了一些问题。您必须在顶部窗口中调用 GetChildren() 并为每个 StaticText 设置一个不同的 wx.ID 然后遍历每个元素并找到您创建的这个 ID。当我这样做时的格式真的很关键..文本获得不同的背景颜色,并且不尊重它的对齐方式和其他时髦的东西。
有什么想法可以做到这一点吗?
【问题讨论】:
标签: python dynamic wxpython wxformbuilder