我试图在运行时向wxpythongui添加复选框,但它似乎没有显示出来。我的代码在下面。你知道吗
我试过跟帖<;Add checkbox in wxPython in runtime>;,但没有成功。我还使用wxFormBuilder查看它如何在初始化期间添加复选框;我能够验证这一点self.main窗口.p\u SelectionPanel是我要添加复选框的地方。我还检查了调试器,以确保每行代码至少运行一次。你知道吗
关于这个应用程序的更多背景知识:它是一个wxpythongui,其中嵌入了matplotlib绘图。我正在尝试从传入的串行端口流生成复选框,以便用户可以在运行时显示/隐藏序列。point是一个字典,键作为序列名,序列值作为字典值。你知道吗
如果你需要更多的背景,请告诉我。你知道吗
事先谢谢你的帮助。你知道吗
def addNewCheckBoxes(self,point):
sizer = self.mainWindow.p_SelectionPanel.GetSizer()
addedCheckBox = False
for key in point.keys():
if key not in self.cbList.keys():
self.cbList[key] = wx.CheckBox(self.mainWindow.p_SelectionPanel)
sizer.Add(self.cbList[key])
addedCheckBox = True
if addedCheckBox:
self.mainWindow.p_SelectionPanel.SetSizer(sizer)
self.mainWindow.p_SelectionPanel.Layout()
此问题是由于使用多个线程造成的;请参阅上面的注释。我已经能够通过使用这里介绍的技术将复选框添加到主线程中:<;Sharing data between threads in Python>;。你知道吗
不过,这里建议使用一种更好的线程安全的方法来构造我的程序:<;WxPython: Periodically set value in TextCtrl not working>;。还有一种方法可以避免使用多线程。你知道吗
相关问题 更多 >
编程相关推荐