Structure d'un projet et du code avec PyQt

a marqué ce sujet comme résolu.

La représentation sous forme d'arbre semble la plus adaptée à mes données :

  • Verger 1
    • Rang 1
      • Côté 1
        • Zone horizontale 1
      • Côté 2
    • Rang 2
  • Verger 2

Du coup, j'ai cru comprendre qu'il fallait que j'hérite de QAbstractItemModel. De toute manière, ce n'est pas un QListModel, ni un QTableModel vu l'agencement de mes données.

+0 -0

J'ai donc hérité QAbstractItemModel et tout fonctionne, ou presque.

J'aurais toutefois une petite question. ^^

J'ai en gros trois widgets : ma MainWindow, une QTreeView et un widget affichant l'item courant de la QTreeView.

Ce dernier widget possède un QPushButton pour supprimer l'item courant. Concrètement, je relie le signal currentChanged de ma QTreeView à la méthode changeCurrentItem de ma MainWindow :

1
2
3
4
5
6
7
def changeCurrentItem(self, current, old):
    self.setCurrentIndex(current)
    # On prévient le QDataWidgetMapper
    self.currentItemChanged.emit(current, old)

def setCurrentIndex(self, index):
    self._currentIndex = index

Puis, à l'appui du bouton, je fais simplement ça :

1
2
def deleteCurrentItem(self):
    self._model.removeIndex(self._currentIndex)

Ma question est : est-ce la bonne méthode ou serait-il préférable de faire quelque chose de cette sorte (ou encore autre chose) ?

1
2
def deleteCurrentItem(self):
    self._model.removeIndex(self._treeView.getCurrentItem())

Merci !

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte