Checked Checkbox不应该是不可检查的

时间:2013-07-08 21:11:03

标签: c++ qt qt5

我在游戏中设置有些困难。因为我一次只能激活一个选项,例如选项'Easy'

//Uncheck all other difficulty options
if(ui->actionMedium->isChecked())
{
    ui->actionMedium->setChecked(false);
}

if(ui->actionHard->isChecked())
{
    ui->actionHard->setChecked(false);
}

现在的问题是,如果我点击已经选中的复选框,则复选框将取消选中。好的,这就是复选框的正常行为,所以我添加了

//check if its alreay checked
if(ui->actionEasy->isChecked())
{
    ui->actionEasy->setChecked(true);
}

但是这样做了,我不明白为什么。

作为替代方案,我可以对radiobuttons进行分组,但我想解释为什么我的代码可以正常工作。

3 个答案:

答案 0 :(得分:1)

如果您取消选中复选框actionEasy ui->actionEasy->isChecked() == false,那么您的代码不会选中此复选框。

答案 1 :(得分:1)

你应该看一下here它会教你如何分组项目并同时只检查一项

答案 2 :(得分:0)

选中后禁用复选框。