Bonjour à tous
Je cherche une solution pour avoir une combobox dans un QTableView (jusque là rien de complexe) et j'aimerai adapter le comportement de la combobox en fonction de l’événement reçu (clavier ou souris)
Par exemple, si c'est un evenement souris, il faudrait valider la valeur sélectionnée alors que si c'est un événement clavier, il faudrait garder un comportement normal
Je suis un peu perdu dans la réalisation (pour ma défense, je découvre python depuis peu)
Mon code actuel :
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 class ComboDelegate(QtGui.QItemDelegate): def __init__(self, parent): super(Delegate,self).__init__(parent) def createEditor(self,parent,option,index): editor = QtGui.QComboBox(parent) editor.addItems(self.comboItems()) def fc(x): self.commitData.emit(editor) self.closeEditor.emit(editor, QtGui.QAbstractItemDelegate.NoHint) editor.activated[int].connect(fc) return editor
cela correspond bien à l'utilisation de la souris mais devient problématique avec une utilisation du clavier
Je souhaiterai donc savoir quel événement est en jeu pour utiliser ou non la fonction fc
J'ai pensé créer une classe héritant de QtGui.QComboBox pour surcharger la méthode event mais je suis perdu !
Merci pour votre aide
Partager