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.
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.
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])
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?
Partager