我有一個QButtonGroup容器,這本身就是一個QGroupBox內(該按鈕組需要右鍵上下文菜單中,並且由於QButtonGroup不裏面兩個單選按鈕的GUI具有視覺表示似乎它不具有setContextMenuPolicy方法)下面的代碼段被認爲響應於輸入數據從串行鏈路來更新互斥按鈕的狀態:PyQt的 - button.toggle()方法不工作
elif widgetName in self.buttonBoxDict:
buttonGroup = getattr(self.ui, self.buttonBoxDict[widgetName])
checkedButton = buttonGroup.checkedButton()
checkedButtonName = str(checkedButton.objectName())
if value >= self.onValue and self.buttonDict[checkedButtonName][1] == self.offValue:
checkedButton.toggle()
assert(not checkedButton.isChecked())
self.windowHandler.buttonChanged(self, self.onValue, cc)
elif value < self.onValue and self.buttonDict[checkedButtonName][1] == self.onValue:
checkedButton.toggle()
self.windowHandler.buttonChanged(self, self.offValue, cc)
不幸的是這是行不通的,我最初知道此處選擇的按鈕被選中,但在GUI中的按鈕的狀態不會改變,即使代碼似乎被正確執行斷言總是失敗。任何想法爲什麼這可能會出錯?
這是很難沒有上下文理解。你能提供一個可運行的例子嗎? – Avaris
@Avaris感謝您的答覆 - 我去看看,我可以把更多的東西直白在一起說明了這個問題。 – Bitrex