Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.0 - Qt Creator : 4.3.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

QComboBox activated

Salut,
je voudrais utiliser un QComboBox, c'est à dire qu'il y a déjà des items dans ma combo box et je voudrais que lorsqu'on en sélectionne un, une fonction se lance.
Et dans cette fonction je voudrais que selon l'item sélectionné elle me retourne une liste (différente selon l'item sélectionné).

Voilà ce que j'ai fait :

class MyWindowClass(QtGui.QMainWindow, form_class):
def __init__(self, parent=None):
QtGui.QMainWindow.__init__(self, parent)
self.setupUi(self)
self.cbxBuffer = QtGui.QComboBox(self)
self.cbxBuffer.currentIndexChanged.connect(self.Select_regle_Buffer)

def Select_regle_Buffer(self):
global b
cbx=self.cbxBuffer.currentText()
if cbx==Buffer_01:
b=[0,0,2,4,4]
elif cbx==Buffer_02:
b=[0,0,0,1,4]
return b
le problème pour l'instant c'est que ma fonction se lance sans que j'ai sélectionne d'item dans ma combo box (elle ne comprend donc pas self.cbxBuffer.currentText() ce qui est normal )

Si quelqu'un a une idée ... :)

Réponses

  • Bonjour Roxypam,

    Le signal currentIndexChanged se déclenche non seulement quand l'utilisateur sélectionne un item, mais aussi lorsque tu ajoutes ou supprimes des items dans la combobox. Tu peux utiliser le signal activated qui lui ne se déclenche que lorsque l'utilisateur choisit un item, mais il se déclenchera aussi si l'utilisateur choisit l'item qu'il a précédemment choisi !
    Si le contenu de ta combobox est statique, tu peux aussi la remplir avant de connecter ton signal currentIndexChanged.
    Bonne continuation.
Connectez-vous ou Inscrivez-vous pour répondre.