Domanda

Ho una casella di riepilogo che è possibile selezionare gli utenti. A sinistra di questo è una casella combinata che elenca i gruppi disponibili l'utente può essere metterlo. Se l'utente è in un gruppo, il combobox verrà automaticamente impostato su tale gruppo. Voglio fare in modo quando si cambia la selezione di gruppo, si sposterà l'utente a quel gruppo. Ho aggiunto questa connessione:

QtCore.QObject.connect(self.GroupsBox, QtCore.SIGNAL("currentIndexChanged(QString)"), self.HandleGrouping)

Il problema è che da quando sarò selezionando diversi utenti in gruppi diversi, ogni volta che selezionare un nuovo utente, l'opzione predefinita nei cambiamenti ComboBox e Qt registra questo come un 'currentIndexChanged' del segnale.

Non sembra esserci alcun modo per sparare solo il segnale sulla facilità d'uso l'interazione diretta con il widget stesso. Quali metodi posso usare per ovviare a questo?

È stato utile?

Soluzione

Prendere un segnale dal QComboBox ( activated(int index) ), e aggiornare l'utente selezionato in base a questo. In te funzione di gestione, non fare nulla se l'indice selezionato nella casella combinata è lo stesso che il gruppo l'utente selezionato è in.

Forse spostare il combobox a destra della casella di riepilogo utente, come l'ordine delle azioni sarà Selezionare Utente -.> Seleziona gruppo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top