Si llamé a QCheckBox::setChecked(x)
, la señal toggled
solo se emite si x
no es el mismo que el estado actual de la casilla de verificación. Entiendo la lógica detrás de esto, para evitar señalar si nada ha cambiado. Sin embargo, en algunas situaciones en las que tengo una configuración de widgets más complicada, necesito que la señal se emita siempre. Esto garantiza que cualquier persona que se haya conectado a la casilla de verificación recibirá el primer estado.Qt fuerza QCheckBox para emitir señal en setChecked
¿Hay alguna manera de que QCheckBox::setChecked(bool)
emita una señal independientemente de si el estado ha cambiado?
Mi solución simple ahora es simplemente forzar la casilla de verificación en varios estados haciendo setChecked(!x)
y setChecked(x)
. Esperaba una forma más correcta de hacer esto.
'setChecked' no es virtual en' QAbstractButton' (según la documentación).Además, quiero que el mecanismo sea genérico, de cualquier forma en que se establezca el estado. También tengo que repetir el patrón para varias otras clases (QCheckBox fue solo mi ejemplo aquí). –