我在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
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句