Pregunta

En mi forma tengo un QListWidget que contiene QListWidgetItems comprobable. Estoy buscando una manera de capturar el evento de un QListWidgetItem ser controlada / sin marcar. No veo cualquier señal existente para esto, pero tal vez me equivoque. Lo que estoy haciendo actualmente está utilizando la señal QListWidget::itemClicked() y comprobando el checkState del QListWidgetItem, pero esto no es lo que quiero porque este evento ocurre cada vez que se hace clic en el elemento, no sólo fuimos se puede cambiar entre la marca de verificación. ¿Puede alguien dar un poco de ayuda? Gracias!

¿Fue útil?

Solución

Al parecer, no se proporciona dicha señal, la mejor opción es utilizar QListWidget::itemChanged(QListWidgetItem* item) , y escanear el resultado item->checkState() . Esto debería ser una ligera mejora sobre el uso de itemClicked

Otros consejos

Una opción adicional es utilizar su propia QAbstractListModel con un QListView. Al principio esto se le añade un poco de código adicional que necesite para añadir su propio código de gestión. Pero te dan un acceso de nivel inferior. Básicamente porque el QListView le pedirá a su modelo de lo que debe hacer. También va a transmitir de vuelta a su entrada ListModel donde se puede enganchar en él.

Alternativamente, usted podría subclase QStandardItemModel y coger ciertas modificaciones relacionadas con el cambio de la casilla de verificación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top