2
在此示例代碼:取消選中單選按鈕 - PyQt4的
from PyQt4.QtGui import QDialog, QPushButton, QRadioButton, QHBoxLayout, QApplication, QButtonGroup
import sys
class Form(QDialog):
def __init__(self, parent=None):
super(Form, self).__init__(parent=None)
button = QPushButton('Button')
self.radiobutton1 = QRadioButton('1')
self.radiobutton2 = QRadioButton('2')
#self.group = QButtonGroup()
#self.group.addButton(self.radiobutton1)
#self.group.addButton(self.radiobutton2)
#self.group.setExclusive(False)
layout = QHBoxLayout()
layout.addWidget(button)
layout.addWidget(self.radiobutton1)
layout.addWidget(self.radiobutton2)
self.setLayout(layout)
button.clicked.connect(self.my_method)
def my_method(self):
self.radiobutton1.setChecked(False)
self.radiobutton2.setChecked(False)
app = QApplication(sys.argv)
form = Form()
form.show()
app.exec_()
當按鈕點擊我希望所選擇的單選按鈕被選中,但從未發生過。如果我取消註釋註釋行並運行代碼,那麼我可以取消選中radioButtons。但是另一個問題發生。因爲該組不是唯一的,我可以設置兩個radioButtons檢查一些不會發生的事情。
我該怎麼做才能夠取消按鈕,同時只能選擇一個按鈕?