簡體   English   中英

在運行時無法向wxpython GUI添加復選框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM