Qt - How to disable QCheckBox while retaining checked state?
c++, checkbox, dialog, qt, signals
Solution
use the function `setEnabled(false)` this will disable but should keep its state
Problem
I have a dialog with two checkboxes, let's call them A and B. When A is NOT checked, B should be able to be toggled as the user desires. When A IS checked, B should not be able to be toggled. Right now I have the following in my constructor function for the dialog: ``` connect(ui->A, SIGNAL(toggled(bool)), this, SLOT(setBCheckable(bool))); ``` ...and then I have that function as this: ``` void MyClass::setBCheckable(bool AChecked) { if(AChecked) { ui->B->setCheckable(false); } else { ui->B->setCheckable(true); } } ``` However, when I do this, I've noticed that when I click A, B will APPEAR to retain it's status, but then when I move the mouse over it (whether A is still clicked or not, just the next time I mouse over after checking A), it refreshes B to NOT being clicked. I cannot have it doing this, since I need the function to retain the value for B even when B cannot be changed. Is there a way to do this? To summarize, I need a way for a QCheckBox to keep it's checked status even when the button cannot be toggled. Thanks in advance!