[英]Unable to add checkbox to wxpython GUI during runtime
我正在嘗試在運行時將復選框添加到wxpython gui中,但是似乎沒有顯示出來。 我的代碼如下。
我嘗試按照帖子< 在運行時在wxPython中添加復選框 >,但無法使其正常工作。 我還使用了wxFormBuilder來查看它如何在初始化期間添加一個復選框。 我能夠驗證self.mainWindow.p_SelectionPanel是我要添加復選框的位置。 我還與調試器進行了檢查,以確保每行代碼至少運行一次。
有關該應用程序的更多背景知識:它是一個wxPython GUI,其中嵌入了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()
此問題是由利用多個線程引起的。 參見上面的評論。 通過使用這里介紹的技術,我已經能夠“移交”復選框到主線程中:< 在Python中的線程之間共享數據 >。
但是,在這里建議了一種更好的,線程安全的方法來構建程序結構:< WxPython:定期在TextCtrl中設置值不起作用 >。 還有一種避免使用多個提到的線程的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.