Любой хороший способ сделать checkbox readonly, но также и не затенен (почти не видно).Как сделать QCheckBox только для чтения, но не затененным
- Я использовал
setEnabled(bool)
, который работает, но тогда флажок серого цвета и едва читаемый - я могу реагировать на сигнале переключения и сброс состояния. Но мне нужен какой-то флаг, чтобы определить, является ли поле только для чтения, а затем сбросить состояние проверки, значит, мне нужно создать свой собственный класс
CheckBox
. setCheckable
не работает, либо, он не позволяет мне установить проверяемое состояние на все:cb = this->ui->cb_RealWorld->isCheckable(); this->ui->cb_RealWorld->setCheckable(true); this->ui->cb_RealWorld->setChecked(someValue); this->ui->cb_RealWorld->setCheckable(cb);
Так что лучшее, что я должен это использовать включить/выключить и принять посеревшую стиль.
------- Редактировать -------
После stylesheet examples я надеялся, что я мог бы установить стиль инвалидов флажком, как один из разрешенных. До сих пор не удалось сделать это. Более конкретно: изменение значка, как в examples, не работает для меня, может быть, потому, что я использую Windows, и значки недоступны по пути, как в примерах.
PS: Схожая, но нет ответа здесь
Disabling a QCheckbox in a tricky way
Qt - How to disable QCheckBox while retaining checked state?
Что вы подразумеваете под «только для чтения»? Флажок не записывает информацию, а только состояние чего-то. – Poriferous
Readonly: Пользователь не может изменить состояние флажка, например, в QLineEdit, где использование не может изменить текст только для чтения. –
Btw, я не понимаю нижний предел. Но не бери в голову. –