如何在 PyQtGraph 中实现复选框组
How to implement a Checkbox Group in PyQtGraph
我在 python 中使用 pyqtgraph 来实现一些绘图功能。我添加了几个复选框:
check1 = QtGui.QCheckBox(win)
check2 = QtGui.QCheckBox(win)
check3 = QtGui.QCheckBox(win)
check4 = QtGui.QCheckBox(win)
check1.setText("Checkbox 1")
check2.setText("Checkbox 2")
check3.setText("Checkbox 3")
check4.setText("Checkbox 4")
gridLayout.addWidget(check1, 1, 2, 1, 1)
gridLayout.addWidget(check2, 1, 4, 1, 1)
gridLayout.addWidget(check3, 1, 6, 1, 1)
gridLayout.addWidget(check4, 1, 8, 1, 1)
我该如何强制执行,以便用户在任何给定时间只能选中 1 个复选框?我在更新功能中尝试这样做:
if check1.isChecked():
check2.setChecked(False)
check3.setChecked(False)
check4.setChecked(False)
if check2.isChecked():
source = 2
check1.setChecked(False)
check3.setChecked(False)
check4.setChecked(False)
....
这样的作品,但似乎不合适。我认为由于它在 update
函数中,因此会导致一些问题。有没有办法访问单击复选框时触发的事件?我认为最好在某种事件方法中执行此操作,而不是检查更新方法。
我在工作中使用了错误的工具。我用单选按钮解决了这个问题,不知道为什么我没有早点想到它。
我的例子是一样的,除了:
radio1 = QtGui.QRadioButton(win)
radio1.setText("Radio 1")
gridLayout.addWidget(radio1, 1, 2, 1, 1)
if radio1.isChecked():
# Do stuff
我在 python 中使用 pyqtgraph 来实现一些绘图功能。我添加了几个复选框:
check1 = QtGui.QCheckBox(win)
check2 = QtGui.QCheckBox(win)
check3 = QtGui.QCheckBox(win)
check4 = QtGui.QCheckBox(win)
check1.setText("Checkbox 1")
check2.setText("Checkbox 2")
check3.setText("Checkbox 3")
check4.setText("Checkbox 4")
gridLayout.addWidget(check1, 1, 2, 1, 1)
gridLayout.addWidget(check2, 1, 4, 1, 1)
gridLayout.addWidget(check3, 1, 6, 1, 1)
gridLayout.addWidget(check4, 1, 8, 1, 1)
我该如何强制执行,以便用户在任何给定时间只能选中 1 个复选框?我在更新功能中尝试这样做:
if check1.isChecked():
check2.setChecked(False)
check3.setChecked(False)
check4.setChecked(False)
if check2.isChecked():
source = 2
check1.setChecked(False)
check3.setChecked(False)
check4.setChecked(False)
....
这样的作品,但似乎不合适。我认为由于它在 update
函数中,因此会导致一些问题。有没有办法访问单击复选框时触发的事件?我认为最好在某种事件方法中执行此操作,而不是检查更新方法。
我在工作中使用了错误的工具。我用单选按钮解决了这个问题,不知道为什么我没有早点想到它。
我的例子是一样的,除了:
radio1 = QtGui.QRadioButton(win)
radio1.setText("Radio 1")
gridLayout.addWidget(radio1, 1, 2, 1, 1)
if radio1.isChecked():
# Do stuff