ComboBox - gestion des évènements
Nouveau sur PyQt, QTDesigner, Eric4
Bonjour à tous,:D
Je fais un proramme avec PyWin32 qui me permet de récupérer les titres de documents Microsoft Office ouverts sur un PC. Je me sers d'une QComboBox et de QRadioButton, un pour choisir les doc Word, un pour Excel etc...
Chaque choix de radioButton me permet d'insérer les titres des documents (s'il y en a ) dans la comboBox, de la rafraîchir. Cela fonctionne très bien.
Mais je voudrais maintenant, simplifier l'écran et donc enlever les radioButton. La combobox montrerait tous les documents Office ouverts. Cela m'oblige à trouver un évènement que je ne vois pas dans QtDesigner genre " clic sur combobox" sans obligatoirement choisir un élément de la liste déroulante ou un évènement "focus" sur la combobox ...? 8O
Si quelqu'un a une info ....
Merci par avance,
pibol
Précisions et modifications du code
Bonjour VinsS,:D
Merci, je viens de faire un test. Il m'a fallu bricoler un peu car je suis un peu perdu avec QtDesigner entre ce qu'il fait ou non et comment et où mettre le code, plus les imports... mais c'est impecc! :ccool:
J'espère ... pas trop à bientôt !
Pibol
Après des tests, je me suis rendu compte que
self.ma_combobox.mousePressEvent = self.mousePressEvent, l'évènement mousePressEvent était activé même quand je cliquais sur la fenêtre, en dehors de la combobox. Grâce à tes infos VinsS, j'ai vu qu'il existait l'évènement focusInEvent. J'ai repris ton exemple :
Code:
1 2
|
self.ltDocActifs.focusInEvent = self.listeFocus |
qui fait référence à :
Code:
1 2 3 4
|
def listeFocus(self, event):
print " focus"
QtGui.QComboBox.focusInEvent(self.ltDocActifs, event) |
Maintenant, (a priori !!??) le focus n'est que sur la combobox et non sur toute la fenêtre.
VinsS ta réponse m'a permis de comprendre un petit peu mieux Qt. Merci