bonjour,
je travaille actuellement sur une combobox editable qui affiche une liste de résultat a partir de ma base de donné.
ma fonction est appelé par un editTextChanged.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
    def cbxProprioChange(self, text):
        #on vide la liste d'affichage
        self.dwg.cbxProprio.clear()
        #connexion a la DB
        db = sqlite3.connect(os.path.join(os.path.dirname(__file__),'data.sqlite'))
        cursor = db.cursor()
        #on recherche les correspondances dans la colonne nom
        cursor.execute("SELECT nom FROM proprietaire where nom like ?", ('%' + text + '%', ))
        #on remplit la liste d'affichage
        for row in cursor.fetchall():
            self.dwg.cbxProprio.addItem(row[0])
            print(row[0])
le probleme est que quand l'utilisateur tape une lettre, le premier résultat est affiché dans le champs de la comboBox, et non dans la liste.
cela a pour effet de changer le texte entrer, et donc de relancer ma fonction...
et au final de tout faire planter.

du coup, j'aimerais que les résultat ne s'affiche pas dans le champs de recherche, mais seulement dans la liste déroulante, mais je ne sais absolument pas comment faire cela...
des idées?