我有一个QDialog类,称为“OptionsClass”,用于显示应用程序选项的对话框。我是在Qt设计器中设计的&该类的对象是在我的constructor中由new继承的QMainWindow类中创建的&它是destructor中的deleted (我认为这有助于在单击按钮时快速加载对话框)。每当单击options按钮时,我都会在OptionsClass中调用一个函数,该函数基本上是在QLabel中编辑一些文本&然后调用show()。QRadioButton类中也有3个对话框。当我在应用程序启动时第一次打开对话框时,将不选中单选按钮。现在假设我检查了任何按钮&关闭对话框。现在,如果我再次打开对话框,那么仍然选中该单选按钮。我希望每次打开对话框时,所有单选按钮都应该不选中。
下面是单击以打开对话框的按钮的插槽:
void MyMainWindow::on_actionCut_triggered()
{
optionsObj->init(n, 'x');
optioobjn->show();
}下面是函数init的一个片段:
void OptionsClass::init(int n, char c)
{
//some settings to edit the QLabel
ui->radio1->setChecked(false);
ui->radio2->setChecked(false);
ui->radio3->setChecked(false);
}我尝试过其他属性,如SetDown()、SetChecked()等,但仍然无法工作。我做错了什么?
发布于 2013-02-23 08:25:31
为了防止你的按钮被重置,你需要
radio-> setAutoExclusive(false); 那你就可以取消检查了。别忘了再次打开autoExclusive。
AutoExclusive通常不适用于其他抽象按钮,不过是单选按钮。
https://stackoverflow.com/questions/15038591
复制相似问题