bonjour a tous,

je bloque actuellement sur un probleme avec une lineEdit et un qcompleter.
quand je tape dans ma lineEdit le début d'un mot, pas de probleme, par contre si les lettres tapé sont au milieu du terme recherché, ca ne ressort pas de résultat.
exemple : je tape "a", j'ai pour résultat -amélie, -arnaud, mais pas jean-claude.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
        Data = cursor.execute("SELECT nom FROM proprietaire")
        listData = [unicode(i[0]) for i in Data] #création de la liste utilisé par la lineEdit
 
        self.lineEdit = LineEdit(parent=self.dockWidgetContents, completerContents=listData)
        self.verticalLayout_4.addWidget(self.lineEdit)
 
class LineEdit(QtGui.QLineEdit):
    def __init__(self, parent, completerContents):
        super(LineEdit, self).__init__(parent)
 
        self.completerList = list()
        for content in completerContents:
            self.completerList.append(content)#Appends a new paragraph with text to the end of the text edit.
        self.completer = QtGui.QCompleter(self.completerList, self)
        self.completer.setCompletionMode(QtGui.QCompleter.PopupCompletion)#affiche une popup avec une liste de suggestion
        self.completer.setCaseSensitivity(QtCore.Qt.CaseInsensitive)#définit la sensibilité a la casse
        self.setCompleter(self.completer)
j'ai consulté pas mal de site, beaucoup parle de recherche sur plusieurs mot ("chicken soup", "chilli peppers", "grilled chicken" par exemple, ch doit faire ressortir les trois termes et non les deux premiers)
mais je n'ai pas trouvé le moyen de chercher par le "milieu" (ou la fin )

j'espere que vous pourrez m'aider