QButtonGroupコンテナ内に2つのラジオボタンを持つGUIがあります.QGroupBox内にあります(このボタングループには右クリックのコンテキストメニューが必要です.QButtonGroupには視覚的な表現がないため、setContextMenuPolicyがないようです)メソッド) 次のコード スニペットは、シリアル リンクからの受信データに応答して、相互に排他的なボタンの状態を更新することになっています。
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 のボタンの状態は変化せず、コードが適切に実行されているように見えても、アサーションは常に失敗します。なぜこれがうまくいかないのかについてのアイデアはありますか?