2017-01-03 3 views
0

J'essaie d'utiliser les codes QStandardItem et QStandardItemModel pour générer un TreeView dans Qt.Expliquer la relation parent/enfant ligne/colonne pour QStandardItem et QStandardItemModel

Dans Qt le modèle typique pour contrôler la TreeView, TableView & ListView inclut le concept de lignes et de colonnes, mais aussi les relations parent/enfant.

Je trouve la documentation très déroutant, car il semble que ces sont interdépendants (par exemple pour ajouter un enfant à un QStandardItem, appendRow() est utilisé), mais nulle part j'ai trouvé est consacré à expliquer exactement comment.

Si je devais deviner, je dirais: "les lignes sont équivalentes aux enfants, les colonnes n'ont de sens que dans un élément lui-même". Est-ce correct?

Répondre

0

Le modèle d'article Qt est récursif: chaque article est un tableau d'articles. Il est incorrect de dire que les lignes sont équivalentes aux enfants: chaque index peut avoir un enfant, quelle que soit sa colonne de ligne.

Bien sûr, toutes les vues ne peuvent pas gérer tous les modèles. Plus précisément, aucune vue intégrée de Qt ne peut gérer les enfants dans des colonnes autres que 0. Mais vous pouvez certainement implémenter une vue qui le fait!