Saltar al contenido

PyQt (o simplemente QT). Cómo hacer que QComboBox dispare una señal siempre que se establezca en un valor (incluso si no se modifica)

Solución:

Bueno … a veces, el solo hecho de hacer una pregunta puede llevarlo a una respuesta (parcial).

Tengo una solución alternativa, pero todavía estoy interesado en saber si alguien tiene una idea mejor.

Ahora estoy configurando programáticamente el índice del QCombobox para -1 inmediatamente después de cargarlo. Luego, cuando configuro programáticamente el índice real basado en el historial del usuario, siempre se considerará un cambio (es decir, nunca será -1) y la señal se disparará

utilizando: currentIndexChanged(const QString&)

Entonces mi código se ve así ahora:

comboBox1.blockSignals(True)
comboBox1.clear()
comboBox1.addItems(sorted(itemList))
comboBox1.setCurrentIndex(-1)
comboBox1.blockSignals(False)
comboBox1.setCurrentIndex(intLastSavedState1)

y mi señal se ve así:

self.connect(comboBox1, QtCore.SIGNAL("currentIndexChanged(const QString&)"), self.load_comboBox2)

Esto funciona … ¿alguien tiene una mejor idea?

Gracias de nuevo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *