Comme j'ai sous-classé QSortFilterModel pour pouvoir rechercher à travers plusieurs colonnes dans un QListView, l'option CaseInsensitive ne fonctionne plus. Ive essayé de l'appliquer comme suit:QSortFilterProxyModel ne s'applique pas Caseinsensitive
class CustomSortFilterProxyModel(QtCore.QSortFilterProxyModel):
def __init__(self, parent=None):
super(CustomSortFilterProxyModel, self).__init__(parent)
self.filterString = ''
self.filterFunctions = {}
self.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive) #Applied here
def setFilterString(self, text):
self.filterString = str(text)
self.setFilterCaseSensitivity(QtCore.Qt.CaseInsensitive) #And applied here
self.invalidateFilter()
def filterAcceptsRow(self, row_num, parent):
self.filterColumns = [1,3]
model = self.sourceModel()
row = model.row(row_num)
tests = [self.filterString in row[col] for col in self.filterColumns]
return True in tests
Comment se fait ma chaîne de recherche est sensible à la casse?
merci, cela a fonctionné très bien! – Louvre