0

我在游戏中有一些难度设置。因为一次只有一个选项应该处于活动状态,所以我做了例如选项“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);
}

但这不起作用,我不明白为什么。

作为替代,我可以对单选按钮进行分组,但我想了解为什么我的代码不起作用。

4

3 回答 3

1

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

于 2013-07-08T21:24:19.377 回答
1

你应该看看这里它会教你如何对项目进行分组并同时使一个可检查

于 2013-07-08T21:28:22.300 回答
0

选中后禁用复选框。

于 2013-07-08T21:31:27.660 回答