Qualsiasi buon modo per rendere una casella di controllo in sola lettura, ma anche non visualizzato in grigio (difficilmente visibile).Come rendere QCheckBox in sola lettura, ma non in grigio
- Ho usato
setEnabled(bool)
che funziona, ma la casella di controllo poi è in grigio e difficilmente leggibile - posso reagire a un segnale di commutazione e ripristinare lo stato. Ma avrei bisogno di un tipo di flag per determinare se la casella è di sola lettura e quindi ripristinare lo stato di controllo, significa che ho bisogno di creare la mia classe
CheckBox
. setCheckable
non funziona neanche, non mi permette di impostare uno stato controllato a tutti:cb = this->ui->cb_RealWorld->isCheckable(); this->ui->cb_RealWorld->setCheckable(true); this->ui->cb_RealWorld->setChecked(someValue); this->ui->cb_RealWorld->setCheckable(cb);
Quindi la cosa migliore che ho è quello di utilizzare abilitare/disabilitare e accettare il grigio stile.
------- ------- Modifica
Dopo la stylesheet examples Speravo di poter impostare lo stile di una casella di controllo disabile come quella di un permesso. Non è riuscito finora a farlo. Più specifico: cambiare l'icona come nel examples non funziona per me, forse perché sto usando Windows e le icone non sono disponibili sotto il percorso come negli esempi.
PS: Related, ma nessuna risposta qui
Disabling a QCheckbox in a tricky way
Qt - How to disable QCheckBox while retaining checked state?
Cosa intendi per "sola lettura"? Una casella di controllo non registra le informazioni ma solo lo stato di qualcosa. – Poriferous
Readonly: l'utente non può modificare lo stato della casella di controllo, come in QLineEdit dove l'uso non può modificare un testo readonly –
Btw, non capisco il downvote. Ma non importa. –