我在游戏中有一些难度设置。因为一次只有一个选项应该是活动的,我做了,例如选项"简单"
//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);
}
但这并不奏效,我不明白为什么。
作为替代方案,我可以对单选按钮进行分组,但我想弄清楚为什么我的代码不起作用。
如果取消选中复选框actionEasy ui->actionEasy->isChecked() == false
,则代码不会选中此复选框。
您应该看看这里,它将教您如何对项目进行分组,并同时使一个可检查项
选中复选框后禁用该复选框。