-1

我有一个QDialog类说' OptionsClass '来显示我的应用程序选项的对话框。我在Qt Designer中设计了它,该类的对象是在constructorQMainWindow继承的类中创建的new,它是deleted 中的destructor(我认为这有助于在单击按钮时快速加载对话框)。每当单击选项按钮时,我都会调用一个函数,OptionsClass该函数基本上在QLabel调用show() 之后编辑 & 中的一些文本。里面也有3QRadioButtonQDialog班级。当我在应用程序启动中第一次打开对话框时,未选中单选按钮。现在说我检查任何按钮并关闭对话框。现在,如果我再次打开对话框,那么仍然选中该单选按钮。我希望每次打开对话框时都应取消选中所有单选按钮。

这是单击以打开对话框的按钮的插槽:

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() 等,但它仍然不起作用。我究竟做错了什么?

4

1 回答 1

1

为了防止您的按钮重置,您需要做

radio-> setAutoExclusive(false); 

然后你可以取消勾选。不要忘记再次打开 autoExclusive。

AutoExclusive 通常对其他抽象按钮关闭,但对单选按钮打开。

于 2013-02-23T08:25:31.747 回答