Bienvenue sur le forum !

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

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

QsqltableModel & QProxyModel

May 2016 modifié dans Qt / Python
Bonjour,
Je travaille actuellement sur une petite application de gestion d’œuvres d'arts. J'utilise le robuste combo SQLite / PyQt5 /Python3.
L'utilisation de QSqlTableModel me permet de récupérer dans des tables views facilement mes tables avec la pise en charge des relations et clés étrangères. Mais je désire ajouter une fonction de recherche sur mes tables, j'utilise donc le module QProxyModel. Mais catastrophe, cet outil casse la gestion des clés étrangères...
C'est ennuyeux, j'ai trouvé quelques réponses en anglais avec l'idée de subclass, mais honnêtement je n'ai rien compris :)
Je m'en remet donc à votre expertise, je vous joins mon programme ci-joint. (fichier de lancement : mainmiart)

Le noeud du problème est dans le fichier ClassesTables.py:


class TableVue(QTableView):
def __init__(self, modeleTable, MonProxy):
super().__init__()

self.modeleTable = modeleTable
self._filtermodel = QSortFilterProxyModel()
self._filtermodel.setSourceModel(self.modeleTable)
self._filtermodel.setDynamicSortFilter(True)
self._filtermodel.setFilterCaseSensitivity(Qt.CaseInsensitive)



self.setModel(self._filtermodel)
self.setItemDelegate(QSqlRelationalDelegate(MonProxy))
self.setSortingEnabled(True)


Merci d'avance si une personne courageuse met le nez dedans ;)
zip
zip
monprog.zip
19K
Connectez-vous ou Inscrivez-vous pour répondre.