我有三个单选按钮,我们称之为R1,R2和R3.(R1在检查集中)
我的问题是我有一个方法调用check(),使用以下方法获取当前的单选按钮:
def check(self):
if R1.isChecked():
#
if R2.isChecked():
#
if R3.isChecked():
#
Run Code Online (Sandbox Code Playgroud)
根据哪个单选按钮处于活动状态,进一步调用适当的方法.
但是,这种方法的问题是当表单加载时,会检查R1.然后当我调用时check(),因为在表单加载时已经检查了R1,所以它只返回R1.
解决这个问题的方法是什么?我希望根据用户的选择,调用适当的方法.
所以我想知道在表单加载时是否可以不检查单选按钮?
希望这可以帮到你,最初所有的单选按钮都处于未选中状态.
QGroupBox *groupBox = new QGroupBox(tr("Exclusive Radio Buttons"));
QRadioButton *radio1 = new QRadioButton(tr("&Radio button 1"));
QObject::connect(radio1,SIGNAL(clicked(bool)),this,SLOT(clickkedstate(bool)));
radio1->setAutoExclusive(false);
QRadioButton *radio2 = new QRadioButton(tr("R&adio button 2"));
QObject::connect(radio2,SIGNAL(clicked(bool)),this,SLOT(clickkedstate(bool)));
radio2->setAutoExclusive(false);
QRadioButton *radio3 = new QRadioButton(tr("Ra&dio button 3"));
radio3->setAutoExclusive(false);
QObject::connect(radio3,SIGNAL(clicked(bool)),this,SLOT(clickkedstate(bool)));
radio1->setChecked(false);
radio2->setChecked(false);
radio3->setChecked(false);
QVBoxLayout *vbox = new QVBoxLayout;
vbox->addWidget(radio1);
vbox->addWidget(radio2);
vbox->addWidget(radio3);
vbox->addStretch(1);
groupBox->setLayout(vbox);
setLayout(vbox);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24319 次 |
| 最近记录: |