Question

J'ai une zone de liste que vous pouvez sélectionner les utilisateurs. A gauche de c'est un combobox liste des groupes disponibles, l'utilisateur peut être le mettre. Si l'utilisateur est dans un groupe, le combobox sera automatiquement réglé sur ce groupe. Je veux faire en sorte lorsque vous modifiez la sélection du groupe, il se déplace à l'utilisateur de ce groupe. J'ai ajouté cette connexion:

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

Le problème est que depuis que je vais choisirons différents utilisateurs dans différents groupes, chaque fois que je sélectionner un nouvel utilisateur, l'option par défaut dans les changements de combobox et Qt enregistre cela comme un signal « currentIndexChanged ».

Il semble y avoir aucun moyen de ne tirer sur le signal directement interaction utilisateur avec le widget lui-même. Quelles méthodes puis-je utiliser pour contourner cela?

Était-ce utile?

La solution

Catch un signal provenant du QComboBox ( activated(int index) ), et mettre à jour l'utilisateur sélectionné en fonction de cela. En fonction de votre choix Handler, ne faites rien si l'indice sélectionné dans la liste déroulante est le même que le groupe l'utilisateur sélectionné est.

Peut-être déplacer votre combobox à droite de la zone de liste d'utilisateur, votre commande d'actions sera Sélectionnez Utilisateur -.> Sélectionner un groupe

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top