QTreeViewLa classe QTreeView fournit une implémentation par défaut pour une vue en arbre dans l'architecture modèle/vue. Plus d'informations... #include <QTreeView> Voir la position dans l'arbre des classes. HéritageHérite de QAbstractItemView. HéritageHérité par QHelpContentWidget and QTreeWidget. Description détailléeLa classe QTreeView fournit une implémentation par défaut pour une vue en arbre dans l'architecture modèle/vue. Un QTreeView implémente une représentation arborée d'éléments depuis un modèle. Cette classe est utilisée pour mettre à disposition des listes hiérarchisées standard, précédemment fournies par la classe QListView, mais utilisant l'approche plus flexible fournie par l'architecture modèle/vue de Qt. La classe QTreeView est l'une des classes modèle/vue et fait partie du framework modèle/vue de Qt. QTreeView implémente l'interface définie par la classe QAbstractItemView pour lui permettre d'afficher les données fournies par des modèles dérivés de la classe QAbstractItemModel. Il est aisé de construire une vue en arbre affichant des données depuis un modèle. Dans l'exemple suivant, le contenu d'un répertoire est fourni par un QDirModel et affiché en tant qu'arbre : QFileSystemModel *model = new QFileSystemModel; model->setRootPath(QDir::currentPath()); QTreeView *tree = new QTreeView(splitter); tree->setModel(model); L'architecture modèle/vue garantit que le contenu d'une vue en arbre est actualisé si le modèle change. Les éléments qui possèdent des enfants peuvent être à l'état développé (enfants visibles) ou fermé (enfants cachés). Quand cet état change, un signal collapsed() ou expanded() est émis avec l'index du modèle de l'élément pertinent. Le taux d'indentation utilisé pour indiquer les niveaux hiérarchiques est contrôlé par la propriété indentation. Les en-têtes des vues en arbre sont construits en utilisant la classe QHeaderView et peuvent être cachés avec header()->hide(). Notez que chaque en-tête est configuré avec sa propriété stretchLastSection définie à true, garantissant que la vue ne gaspille pas l'espace lui étant assigné pour ses en-têtes. Si cette valeur est à true, la propriété va outrepasser le mode de redimensionnement défini sur la dernière section de l'en-tête. Raccourcis clavierQTreeView supporte un ensemble de raccourcis clavier qui permettent à l'utilisateur de naviguer dans la vue et d'interagir avec le contenu des éléments :
Améliorer les performancesIl est possible de donner à la vue des recommandations à propos des données qu'elle gère afin d'améliorer ses performances lors de l'affichage d'un grand nombre d'éléments. Une approche qui peut être prise pour les vues dont on attend d'afficher des éléments de hauteur égale est de définir la propriété uniformRowHeights à true. Voir aussi QListView, QTreeWidget, classes modèle/vue, QAbstractItemModel, QAbstractItemView et l'exemple Dir View. PropriétésallColumnsShowFocus : boolCette propriété indique si les éléments doivent afficher le focus au clavier pour toutes les colonnes, ou non. Si cette propriété est true, toutes les colonnes vont afficher le focus, sinon seulement une colonne affichera le focus. Par défaut, la propriété est à false. Cette propriété a été introduite dans Qt 4.2. Fonctions d'accèsbool allColumnsShowFocus () const void setAllColumnsShowFocus ( bool enable ) animated : boolCette propriété indique si les animations sont actives, ou non. Si la propriété est true, la vue en arbre va animer les développements et fermetures des branches. Si la propriété est false, la vue en arbre va développer et fermer les branches immédiatement, sans animation. Par défaut, la propriété est définie à false. La propriété a été introduite dans Qt 4.2. Fonctions d'accèsbool isAnimated () const void setAnimated ( bool enable ) autoExpandDelay : intLa propriété indique le délai avant que les éléments, dans l'arbre, s'ouvrent durant une opération de glisser-déposer. La propriété indique la durée en millisecondes que l'utilisateur doit attendre au-dessus d'un noeud avant que celui-ci ne s'ouvre ou se ferme automatiquement. Si le temps est défini à 0 ou moins, la fonctionnalité est désactivée. Par défaut, la propriété a une valeur de -1, désactivant l'auto expansion des noeuds. La propriété a été introduite dans Qt 4.3. Fonctions d'accèsint autoExpandDelay () const void setAutoExpandDelay ( int delay ) expandsOnDoubleClick : boolLa propriété indique si les éléments peuvent être développés avec un double-clic. La propriété indique si l'utilisateur peut développer ou fermer les éléments avec un double-clic. Par défaut la valeur est true. La propriété a été introduite dans Qt 4.4. Fonctions d'accèsbool expandsOnDoubleClick () const void setExpandsOnDoubleClick ( bool enable ) Voir aussi itemsExpandable. headerHidden : boolLa propriété indique si l'en-tête est affiché, ou non. Si la propriété est true, l'en-tête n'est pas affiché, sinon il l'est. La valeur par défaut est définie à false. La propriété a été introduite dans Qt 4.4. Fonctions d'accèsbool isHeaderHidden () const void setHeaderHidden ( bool hide ) Voir aussi header(). indentation : intLa propriété contient la largeur pour l'indentation des éléments dans la vue en arbre. La propriété contient l'indentation en pixels, pour chaque niveau, des éléments dans la vue en arbre. Pour les éléments supérieurs, l'indentation est la distance horizontale entre la bordure du cadre de l'élément et les éléments de la première colonne ; pour les éléments inférieurs, l'indentation est la distance entre ceux-ci et leur parent. Par défaut, la propriété a une valeur de 20. Fonctions d'accèsint indentation () const void setIndentation ( int i ) itemsExpandable : boolCette propriété indique si les éléments sont expansibles par l'utilisateur, ou non. La propriété indique si l'utilisateur peut développer ou fermer les éléments interactivement. Par défaut, la propriété est définie à true. Fonctions d'accèsbool itemsExpandable () const void setItemsExpandable ( bool enable ) rootIsDecorated : boolLa propriété indique si les contrôles pour le développement ou la fermeture des éléments supérieurs sont affichés. Les éléments ayant des enfants sont normalement affichés avec des contrôles pour les développer ou les fermer, permettant d'afficher ou de cacher leurs enfants. Si cette propriété est définie à false, ces contrôles ne sont pas affichés. Cela peut être utilisé pour qu'une architecture en arbre n'ayant qu'un seul niveau apparaisse comme une simple liste d'éléments. Par défaut, la propriété est définie à true. Fonctions d'accèsbool rootIsDecorated () const void setRootIsDecorated ( bool show ) sortingEnabled : boolLa propriété indique si le tri est activé, ou non. Si cette propriété est définie à true, le tri de l'arbre est activé, si la propriété est false, le tri n'est pas activé. Par défaut la valeur est false. Note : afin d'éviter des problèmes de performance, il est recommandé d'activer le tri après l'insertion des données dans l'arbre. Autrement, vous pouvez aussi insérer les éléments dans une liste avant de les insérer dans l'arbre. La propriété a été introduite dans Qt 4.2. Fonctions d'accèsbool isSortingEnabled () const void setSortingEnabled ( bool enable ) Voir aussi sortByColumn(). uniformRowHeights : boolLa propriété indique si tous les éléments de la vue en arbre ont la même hauteur. La propriété ne devrait être définie à true que seulement s'il est garanti que tous les éléments dans la vue ont la même hauteur. Cela permet à la vue de faire quelques optimisations. La hauteur est obtenue à partir du premier élément de la vue. Elle est mise à jour lorsque les données changent sur cet élément. Par défaut, la propriété est définie à false. Fonctions d'accèsbool uniformRowHeights () const void setUniformRowHeights ( bool uniform ) wordWrap : boolLa propriété indique la politique de retour à la ligne du texte des éléments. Si la propriété est définie à true alors les éléments textuels vont à la ligne, à la cassure des mots, lorsque nécessaire ; sinon le texte n'est pas cassé du tout. La propriété est définie à false par défaut. Notez que même si le retour à la ligne est activé, la cellule ne va pas être étendue pour contenir tout le texte. Des ellipses vont être insérées en accord avec le textElideMode actuel. La propriété a été introduite dans Qt 4.3. Fonctions d'accèsbool wordWrap () const void setWordWrap ( bool on ) Fonctions membresQTreeView::QTreeView ( QWidget * parent = 0 )Construit une vue en arbre avec le parent pour représenter un modèle de données. Utilisez setModel() pour définir le modèle. Voir aussi QAbstractItemModel. QTreeView::~QTreeView ()Détruit la vue en arbre. void QTreeView::collapse ( const QModelIndex & index ) [slot]Ferme l'élément du modèle spécifié par index. Voir aussi collapsed(). void QTreeView::collapseAll () [slot]Ferme tous les éléments expansibles. Cette fonction a été introduite dans Qt 4.2. Voir aussi expandAll(), expand(), collapse() et setExpanded(). void QTreeView::collapsed ( const QModelIndex & index ) [signal]Ce signal est émis lorsque l'élément spécifié par index est fermé. int QTreeView::columnAt ( int x ) constRetourne la colonne dans la vue en arbe ayant l'en-tête couvrant la coordonnée x donnée. void QTreeView::columnCountChanged ( int oldCount, int newCount ) [protected slot]Informe la vue en arbre que le nombre de colonnes dans la vue en arbre a changé de oldCount pour newCount. void QTreeView::columnMoved () [protected slot]Ce slot est appelé à chaque fois qu'une colonne est déplacée. void QTreeView::columnResized ( int column, int oldSize, int newSize ) [protected slot]Cette fonction est appelée à chaque fois que la taille de la colonne column est modifiée dans l'en-tête. Les tailles oldSize et newSize indiquent les ancienne et nouvelle tailles en pixels. Voir aussi setColumnWidth(). int QTreeView::columnViewportPosition ( int column ) constRetourne la position horizontale de la colonne column dans la vue. int QTreeView::columnWidth ( int column ) constRetourne la largeur de la colonne column. Voir aussi resizeColumnToContents() et setColumnWidth(). void QTreeView::currentChanged ( const QModelIndex & current, const QModelIndex & previous ) [virtual protected]Réimplémentation de QAbstractItemView::currentChanged(). void QTreeView::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) [virtual]Réimplémentation de QAbstractItemView::dataChanged(). void QTreeView::dragMoveEvent ( QDragMoveEvent * event ) [virtual protected]Réimplémentation de QWidget::dragMoveEvent(). void QTreeView::drawBranches ( QPainter * painter, const QRect & rect, const QModelIndex & index ) const [virtual protected]Dessine les branches dans la vue en arbre sur la même ligne que l'élément du modèle index, en utilisant le painter donné. Les branches sont dessinées dans le rectangle spécifié par rect. void QTreeView::drawRow ( QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index ) const [virtual protected]Dessine la ligne dans la vue en arbre qui contient l'élément du modèle index, en utilisant le painter donné. L'option contrôle la façon dont les éléments sont affichés. Voir aussi setAlternatingRowColors(). void QTreeView::drawTree ( QPainter * painter, const QRegion & region ) const [protected]Dessine la partie de l'arbre qui croise la région region donnée en utilisant le painter spécifié. Cette fonction a été introduite dans Qt 4.2. Voir aussi paintEvent(). void QTreeView::expand ( const QModelIndex & index ) [slot]Développe l'élément du modèle spécifié par l'index. Voir aussi expanded(). void QTreeView::expandAll () [slot]Développe tous les éléments expansibles. Attention : si le modèle contient un grand nombre d'éléments, cette fonction peut prendre un certain temps à s'exécuter. Cette fonction a été introduite dans Qt 4.2. Voir aussi collapseAll(), expand(), collapse() et setExpanded(). void QTreeView::expandToDepth ( int depth ) [slot]Développe tous les éléments expansibles jusqu'à la profondeur depth donnée. Cette fonction a été introduite dans Qt 4.3. Voir aussi expandAll(), collapseAll(), expand(), collapse() et setExpanded(). void QTreeView::expanded ( const QModelIndex & index ) [signal]Le signal est émis lorsque l'élément spécifié par index est développé. Voir aussi setExpanded(). QHeaderView * QTreeView::header () constRetourne l'en-tête de la vue en arbre. Voir aussi setHeader() et QAbstractItemModel::headerData(). void QTreeView::hideColumn ( int column ) [slot]Cache la colonne column donnée. Note : cette fonction ne devrait être appelée qu'après que le modèle ait été initialisé, car la vue a besoin de connaître le nombre de colonnes afin de pouvoir cacher la colonne column. Voir aussi showColumn() et setColumnHidden(). int QTreeView::horizontalOffset () const [virtual protected]Réimplémentation de QAbstractItemView::horizontalOffset(). Retourne le décalage horizontal des éléments dans la vue en arbre. Notez que la vue en arbre utilise les sections de l'en-tête horizontal pour déterminer la position des colonnes dans la vue. Voir aussi verticalOffset(). QModelIndex QTreeView::indexAbove ( const QModelIndex & index ) constRetourne l'index du modèle de l'élément au-dessus d'index. QModelIndex QTreeView::indexAt ( const QPoint & point ) const [virtual]Réimplémentation de QAbstractItemView::indexAt(). QModelIndex QTreeView::indexBelow ( const QModelIndex & index ) constRetourne l'index du modèle de l'élément en dessous d'index. int QTreeView::indexRowSizeHint ( const QModelIndex & index ) const [protected]Retourne la taille privilégiée pour la ligne désignée par index. Voir aussi sizeHintForColumn() and uniformRowHeights(). bool QTreeView::isColumnHidden ( int column ) constRetourne true si la colonne column est cachée ; sinon retourne false. Voir aussi hideColumn() et isRowHidden(). bool QTreeView::isExpanded ( const QModelIndex & index ) constRetourne true si l'élément du modèle index est expansible ; sinon retourne false. Voir aussi expand(), expanded() et setExpanded(). bool QTreeView::isFirstColumnSpanned ( int row, const QModelIndex & parent ) constRetourne true si l'élément dans la première colonne de la ligne row du parent décale toutes les colonnes ; sinon retourne false. Cette fonction a été introduite dans Qt 4.3. Voir aussi setFirstColumnSpanned(). bool QTreeView::isIndexHidden ( const QModelIndex & index ) const [virtual protected]Réimplémentation de QAbstractItemView::isIndexHidden(). bool QTreeView::isRowHidden ( int row, const QModelIndex & parent ) constRetourne true si l'élément dans la ligne row du parent est caché ; sinon retourne false. Voir aussi setRowHidden() et isColumnHidden(). void QTreeView::keyPressEvent ( QKeyEvent * event ) [virtual protected]Réimplémentation de QWidget::keyPressEvent(). void QTreeView::keyboardSearch ( const QString & search ) [virtual]Réimplémentation de QAbstractItemView::keyboardSearch(). void QTreeView::mouseDoubleClickEvent ( QMouseEvent * event ) [virtual protected]Réimplémentation de QWidget::mouseDoubleClickEvent(). void QTreeView::mouseMoveEvent ( QMouseEvent * event ) [virtual protected]Réimplémentation de QWidget::mouseMoveEvent(). void QTreeView::mousePressEvent ( QMouseEvent * event ) [virtual protected]Réimplémentation de QWidget::mousePressEvent(). void QTreeView::mouseReleaseEvent ( QMouseEvent * event ) [virtual protected]Réimplémentation de QWidget::mouseReleaseEvent(). QModelIndex QTreeView::moveCursor ( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) [virtual protected]Réimplémentation de QAbstractItemView::moveCursor(). Déplace le curseur de la façon indiquée par cursorAction, utilisant les informations fournies par les modificateurs modifiers du bouton. void QTreeView::paintEvent ( QPaintEvent * event ) [virtual protected]Réimplémentation de QWidget::paintEvent(). void QTreeView::reset () [virtual]Réimplémentation de QAbstractItemView::reset(). void QTreeView::resizeColumnToContents ( int column ) [slot]Redimensionne la colonne column à la taille de son contenu. Voir aussi columnWidth() et setColumnWidth(). int QTreeView::rowHeight ( const QModelIndex & index ) const [protected]Retourne la hauteur de la ligne désignée par index. Cette fonction a été introduite dans Qt 4.3. Voir aussi indexRowSizeHint(). void QTreeView::rowsAboutToBeRemoved ( const QModelIndex & parent, int start, int end ) [virtual protected]Réimplémentation de QAbstractItemView::rowsAboutToBeRemoved(). Informe la vue que les lignes de start à end incluses, vont être retirées de l'élément modèle spécifié par parent. void QTreeView::rowsInserted ( const QModelIndex & parent, int start, int end ) [virtual protected]Réimplémentation de QAbstractItemView::rowsInserted(). Informe la vue que les lignes de start à end incluses, vont être insérées dans l'élément modèle spécifié par parent. void QTreeView::rowsRemoved ( const QModelIndex & parent, int start, int end ) [protected slot]Informe la vue que les lignes de start à end incluses, ont été retirées de l'élément modèle spécifié par parent. Cette fonction a été introduite dans Qt 4.1. void QTreeView::scrollContentsBy ( int dx, int dy ) [virtual protected]Réimplémentation de QAbstractScrollArea::scrollContentsBy(). Défile le contenu de la vue en arbre par (dx, dy). void QTreeView::scrollTo ( const QModelIndex & index, ScrollHint hint = EnsureVisible ) [virtual]Réimplémentation de QAbstractItemView::scrollTo(). Défile le contenu de la vue en arbre jusqu'à ce que l'élément du modèle à l'index soit visible. Le paramètre hint spécifie plus précisément l'emplacement de l'élément après l'opération. Si l'un des parents de l'élément du modèle est fermé, il va être ouvert afin que l'élément soit bien visible. void QTreeView::selectAll () [virtual]Réimplémentation de QAbstractItemView::selectAll(). QModelIndexList QTreeView::selectedIndexes () const [virtual protected]Réimplémentation de QAbstractItemView::selectedIndexes(). void QTreeView::selectionChanged ( const QItemSelection & selected, const QItemSelection & deselected ) [virtual protected]Réimplémentation de QAbstractItemView::selectionChanged(). void QTreeView::setColumnHidden ( int column, bool hide )Si hide est défini à true la colonne column est cachée, sinon la colonne column est affichée. Voir aussi isColumnHidden(), hideColumn() et setRowHidden(). void QTreeView::setColumnWidth ( int column, int width )Définit la largeur de la colonne column à width. Cette fonction a été introduite dans Qt 4.2. Voir aussi columnWidth() et resizeColumnToContents(). void QTreeView::setExpanded ( const QModelIndex & index, bool expanded )Développe ou ferme l'élément référencé par index, selon la valeur de expanded. Voir aussi expanded(), expand() et isExpanded(). void QTreeView::setFirstColumnSpanned ( int row, const QModelIndex & parent, bool span )Si span est défini à true, l'élément dans la première colonne de la ligne row ayant le parent parent est marqué pour décaler toutes les colonnes, sinon tous les éléments de la ligne row sont affichés. Cette fonction a été introduite dans Qt 4.3. Voir aussi isFirstColumnSpanned(). void QTreeView::setHeader ( QHeaderView * header )Définit l'en-tête pour la vue en arbre à header. La vue prend la propriété de l'en-tête header et le détruit lorsqu'un nouvel en-tête est défini. Voir aussi QAbstractItemModel::headerData(). void QTreeView::setModel ( QAbstractItemModel * model ) [virtual]Réimplémentation de QAbstractItemView::setModel(). void QTreeView::setRootIndex ( const QModelIndex & index ) [virtual]Réimplémentation de QAbstractItemView::setRootIndex(). void QTreeView::setRowHidden ( int row, const QModelIndex & parent, bool hide )Si hide est défini à true la ligne row avec la parent parent est cachée, sinon la ligne row est affichée. Voir aussi isRowHidden() et setColumnHidden(). void QTreeView::setSelection ( const QRect & rect, QItemSelectionModel::SelectionFlags command ) [virtual protected]Réimplémentation de QAbstractItemView::setSelection(). Applique la sélection command aux éléments dans, ou en contact, avec le rectangle rect. Voir aussi selectionCommand(). void QTreeView::setSelectionModel ( QItemSelectionModel * selectionModel ) [virtual]Réimplémentation de QAbstractItemView::setSelectionModel(). void QTreeView::showColumn ( int column ) [slot]Affiche la colonne column dans la vue en arbre. Voir aussi hideColumn() et setColumnHidden(). int QTreeView::sizeHintForColumn ( int column ) const [virtual protected]Réimplémentation de QAbstractItemView::sizeHintForColumn(). Retourne la taille privilégiée pour la largeur de la colonne column ou -1 s'il n'y a pas de modèle. Si vous devez définir la largeur pour une colonne à une valeur fixe, appelez QHeaderView::resizeSection() sur l'en-tête de la vue. Si vous réimplémentez cette fonction dans une sous-classe, notez que la valeur retournée est seulement utilisée lorsque resizeColumnToContents() est appelée. Dans ce cas, si une plus grande largeur de colonne est requise par l'en-tête de la vue ou un élément délégué, cette largeur va être utilisée à la place. Voir aussi QWidget::sizeHint et header(). void QTreeView::sortByColumn ( int column, Qt::SortOrder order )Définit le modèle pour être trié par les valeurs de la colonne column et dans l'ordre order. column peut être -1, dans ce cas, aucun indicateur de tri ne va être affiché et le modèle va revenir dans son état naturel et non trié. Notez que tous les modèles ne supportent pas cela et peuvent même crasher dans ce cas. Cette fonction a été introduite dans Qt 4.2. Voir aussi sortingEnabled. void QTreeView::timerEvent ( QTimerEvent * event ) [virtual protected]Réimplémentation de QObject::timerEvent(). void QTreeView::updateGeometries () [virtual protected]Réimplémentation de QAbstractItemView::updateGeometries(). int QTreeView::verticalOffset () const [virtual protected]Réimplémentation de QAbstractItemView::verticalOffset(). Retourne le décalage vertical des éléments dans la vue en arbre. Voir aussi horizontalOffset(). bool QTreeView::viewportEvent ( QEvent * event ) [virtual protected]Réimplémentation de QAbstractScrollArea::viewportEvent(). QRect QTreeView::visualRect ( const QModelIndex & index ) const [virtual]Réimplémentation de QAbstractItemView::visualRect(). Retourne le rectangle de la partie visible occupé par l'élément à l'index. Si l'index n'est pas visible ou explicitement caché, le rectangle retourné est invalide. QRegion QTreeView::visualRegionForSelection ( const QItemSelection & selection ) const [virtual protected]Réimplémentation de QAbstractItemView::visualRegionForSelection(). Retourne le rectangle de la partie visible des éléments dans la sélection selection. Depuis 4.7, la région retournée contient seulement les rectangles en intersection (ou à l'intérieur) de la partie visible. RemerciementsMerci à Louis du Verdier et Alexandre Laurent pour la traduction ainsi qu'à Jonathan Courtois et Claude Leloup pour leur relecture ! |
Publicité
Best OfActualités les plus luesSemaine
Mois
Année
Le Qt Labs au hasardPeek et PokeLes Qt Labs sont les laboratoires des développeurs de Qt, où ils peuvent partager des impressions sur le framework, son utilisation, ce que pourrait être son futur. Lire l'article.
CommunautéRessources
Liens utilesContact
Qt dans le magazine |
Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. | Qt 4.7 | |
Copyright © 2012 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD. | ||
Vous avez déniché une erreur ? Un bug ? Une redirection cassée ? Ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP ! |
Copyright © 2000-2012 - www.developpez.com