我有一个带有两个复选框的对话框,让我们称它们为A和B.当未选中A时,B应该能够根据用户的需要进行切换.选中A时,B不应该切换.现在我在对话框的构造函数中有以下内容:
connect(ui->A, SIGNAL(toggled(bool)), this, SLOT(setBCheckable(bool)));
...然后我有这个功能:
void MyClass::setBCheckable(bool AChecked) { if(AChecked) { ui->B->setCheckable(false); } else { ui->B->setCheckable(true); } }
但是,当我这样做的时候,我注意到当我点击A时,B将显示它保持状态,但是当我将鼠标移到它上面时(无论A是否仍然被点击,只是下次我鼠标悬停时)检查A)后,它刷新B不被点击.我不能这样做,因为我需要函数来保留B的值,即使B不能被改变.有没有办法做到这一点?总而言之,即使按钮无法切换,我也需要一种方法让QCheckBox保持其状态.提前致谢!
使用setEnabled(false)
这将禁用的功能,但应保持其状态