Viadeo Twitter Google Bookmarks ! Facebook Digg del.icio.us MySpace Yahoo MyWeb Blinklist Netvouz Reddit Simpy StumbleUpon Bookmarks Windows Live Favorites 
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

QTableView

La classe QTableView fournit une implémentation par défaut d'un modèle/vue sous la forme d'une vue en table. Plus d'informations...

#include <QTableView>

Voir la position dans l'arbre des classes.

Héritage

Hérite de QAbstractItemView.

Hérité par QTableWidget.

Description détaillée

La classe QTableView fournit une implémentation par défaut d'un modèle/vue sous la forme d'une vue en table.

Une QTableView implémente une vue en table qui affiche les éléments contenus dans un modèle. La classe fournit les mêmes tables standard que l'on pouvait trouver dans la classe QTable en utilisant l'approche flexible de l'architecture modèle/vue de Qt.

La classe QTableView est l'une des classes modèle/vue et fait partie du framework modèle/vue de Qt.

QTableView implémente les interfaces définies par la classe QAbstractItemView pour l'affichage des données fournies par les modèles dérivés de la classe QAbstractItemModel.

Vous pouvez naviguer dans les cellules en cliquant dessus avec la souris ou en utilisant les flèches directionnelles. Puisque QTableView active tabKeyNavigation par défaut, vous pouvez aussi utiliser la touche Tabulation ou Tabulation arrière pour vous déplacer de cellule en cellule.

Apparence visuelle

La table possède un en-tête vertical auquel on peut accéder en utilisant la fonction verticalHeader() et un horizontal, accessible avec la fonction horizontalHeader(). La hauteur de chaque ligne dans la table peut être trouvée en utilisant la fonction rowHeight() ; de même, la largeur des colonnes peut être obtenue avec columnWidth(). Depuis que ces deux objets sont des widgets purs, vous pouvez les cacher en utilisant leurs fonctions hide().

Les lignes et colonnes peuvent être cachées ou affichées avec hideRow(), hideColumn(), showRow() et showColumn(). Elles peuvent être sélectionnées avec selectRow() et selectColumn(). La table va afficher une grille selon la propriété showGrid.

Les éléments affichés dans la vue en table, comme dans toutes les autres vues d'éléments, sont rendus et édités en utilisant les délégués standard. Toutefois, pour d'autres tâches, il est parfois utile d'insérer des widgets dans la table. Les widgets sont définis pour des indices spécifiques avec la fonction setIndexWidget() et, par la suite, enlevés avec indexWidget().

image

Par défaut, les cellules dans la table ne s'étendent pas afin de remplir l'espace disponible. Vous pouvez faire remplir l'espace disponible par les cellules en étirant la dernière section de l'en-tête. Vous pouvez accéder à l'en-tête en utilisant horizontalHeader() ou verticalHeader() et en définissant la propriété stretchLastSection de l'en-tête. Pour distribuer l'espace disponible selon les besoins de chaque colonne ou ligne, utilisez les fonctions resizeColumnsToContents() ou resizeRowsToContents() de la vue.

Systèmes de coordonnées

Pour certaines tables spécialisées, il est utile de convertir les index des lignes et colonnes en coordonnées de widget. La fonction rowAt() fournit la coordonnée sur l'axe des ordonnées (y) entre la vue et la ligne spécifiée ; l'index de la ligne peut être utilisé pour obtenir la coordonnée sur l'axe des ordonnées (y) correspondante avec rowViewportPosition(). Les fonctions columnAt() et columnViewportPosition() fournissent les conversions équivalentes pour les coordonnées sur l'axe des abscisses (x) et des colonnes.

Styles

La QTableView est stylé différemment selon chaque plateforme. Les images suivantes présentent le rendu sur trois différentes plateformes. Vous pouvez trouver les apparences des autres styles dans la galerie des widgets Qt.

image image image
Une table avec le style Windows XP. Une table avec le style Macintosh. Une table avec le style Plastique.

Voir aussi QTableWidget, les classes de la vue, QAbstractItemModel, QAbstractItemView, l'exemple Chart, l'exemple Pixelator et l'exemple Table Model.

Propriétés

cornerButtonEnabled : bool

La propriété indique si le bouton dans le coin haut à gauche est activé ou non.

Si la propriété est définie à true, alors le bouton dans le coin supérieur gauche de la vue en table est activé. L'appui sur ce bouton sélectionne toutes les cellules de la vue.

La propriété est définie à true par défaut.

La propriété a été introduite dans Qt 4.3.

Fonctions d'accès

bool isCornerButtonEnabled () const

void setCornerButtonEnabled ( bool enable )

gridStyle : Qt::PenStyle

La propriété contient le style du pinceau à utiliser pour dessiner la grille.

La propriété contient le style utilisé lorsque la grille est dessinée (voir showGrid).

Fonctions d'accès

Qt::PenStyle gridStyle () const

void setGridStyle ( Qt::PenStyle style )

showGrid : bool

La propriété indique si la grille est affichée ou non.

Si la propriété est définie à true, alors une grille est dessinée pour la table ; si la propriété est définie à false, aucune grille n'est dessinée. La valeur par défaut est true.

Fonctions d'accès

bool showGrid () const

void setShowGrid ( bool show )

sortingEnabled : bool

La propriété indique si le tri est activé ou non.

Si la propriété est définie à true, le tri est activé pour la table. Si la propriété est définie à false, le tri est désactivé. La valeur par défaut est false.

Note : la redéfinition de la propriété à true avec setSortingEnabled() déclenche immédiatement un appel à la fonction sortByColumn() avec le tri sur l'ordre et la section courante.

La propriété a été introduite dans Qt 4.2.

Fonctions d'accès

bool isSortingEnabled () const

void setSortingEnabled ( bool enable )

Voir aussi sortByColumn().

wordWrap : bool

La propriété contient la politique de césure des mots.

Si la propriété est définie à true, alors le texte est découpé entre les mots si nécessaire ; sinon, il n'est pas du tout mis à la ligne. La propriété vaut true par défaut.

Veuillez noter que, même si le retour à la ligne est activé, la cellule ne va pas être étendue pour laisser de la place au texte. Cela va afficher une ellipse pour le texte ne pouvant pas êtes affiché, selon la propriété de textElideMode.

La propriété a été introduite dans Qt 4.3.

Fonctions d'accès

bool wordWrap () const

void setWordWrap ( bool on )

Fonctions membres

QTableView::QTableView ( QWidget * parent = 0 )

Créer une nouvelle vue en table avec le parent parent pour afficher les données.

Voir aussi QAbstractItemModel.

QTableView::~QTableView ()

Détruit la vue en table.

void QTableView::clearSpans ()

Enlève toutes les séparations entre les lignes et les colonnes de la table.

Cette fonction a été introduite dans Qt 4.4.

Voir aussi setSpan().

int QTableView::columnAt ( int x ) const

Retourne l'index de la colonne correspondant à la coordonnée x sur l'axe des abscisses.

Note : la fonction retourne -1 si la coordonnée donnée n'est pas valide (n'a pas de colonne correspondante).

Voir aussi rowAt().

void QTableView::columnCountChanged ( int oldCount, int newCount ) [protected slot]

Ce slot est appelé dès qu'une colonne est ajoutée ou détruite. L'ancien nombre de colonnes est précisé par oldCount et le nouveau par newCount.

void QTableView::columnMoved ( int column, int oldIndex, int newIndex ) [protected slot]

Ce slot est appelé lors d'un changement d'index pour la colonne column dans la table. L'ancien index est spécifié par oldIndex et le nouvel index par newIndex.

Voir aussi rowMoved().

void QTableView::columnResized ( int column, int oldWidth, int newWidth ) [protected slot]

Ce slot est appelé lorsque la largeur de la colonne column est modifiée. L'ancienne largeur est spécifiée par oldWidth et la nouvelle par newWidth.

Voir aussi rowResized().

int QTableView::columnSpan ( int row, int column ) const

Retourne l'espacement de la colonne se trouvant dans la table à (row, column). La valeur par défaut est 1.

Cette fonction a été introduite dans Qt 4.2.

Voir aussi setSpan() et rowSpan().

int QTableView::columnViewportPosition ( int column ) const

Retourne la coordonnée x sur l'axe des abscisses dans le système de coordonnées du contenu de la colonne column.

int QTableView::columnWidth ( int column ) const

Retourne la largeur de la colonne column.

Voir aussi setColumnWidth(), resizeColumnToContents() et rowHeight().

void QTableView::currentChanged ( const QModelIndex & current, const QModelIndex & previous ) [virtual protected]

Réimplémentation de QAbstractItemView::currentChanged().

void QTableView::hideColumn ( int column ) [slot]

Cache la colonne column.

Voir aussi showColumn() et hideRow().

void QTableView::hideRow ( int row ) [slot]

Cache la ligne row.

Voir aussi showRow() et hideColumn().

QHeaderView * QTableView::horizontalHeader () const

Retourne l'en-tête horizontal de la table.

Voir aussi setHorizontalHeader(), verticalHeader() et QAbstractItemModel::headerData().

int QTableView::horizontalOffset () const [virtual protected]

Réimplémentation de QAbstractItemView::horizontalOffset().

Retourne le décalage horizontal des éléments dans la table.

Notez que la table utilise la position de l'en-tête horizontal pour déterminer la position des colonnes dans la vue.

Voir aussi verticalOffset().

QModelIndex QTableView::indexAt ( const QPoint & pos ) const [virtual]

Réimplémentation de QAbstractItemView::indexAt().

Retourne l'index de la position de l'élément du modèle correspondant à la position pos dans le système de coordonnées du contenu de l'élément de la table.

bool QTableView::isColumnHidden ( int column ) const

Retourne true si la colonne column est cachée ; sinon, retourne false.

Voir aussi isRowHidden().

bool QTableView::isIndexHidden ( const QModelIndex & index ) const [virtual protected]

Réimplémentation de QAbstractItemView::isIndexHidden().

bool QTableView::isRowHidden ( int row ) const

Retourne true si la ligne row est cachée ; sinon, retourne false.

Voir aussi isColumnHidden().

QModelIndex QTableView::moveCursor ( CursorAction cursorAction, Qt::KeyboardModifiers modifiers ) [virtual protected]

Réimplémentation de QAbstractItemView::moveCursor().

Déplace le curseur selon le cursorAction, en utilisant l'information fournie par les modificateurs modifiers.

Voir aussi QAbstractItemView::CursorAction.

void QTableView::paintEvent ( QPaintEvent * event ) [virtual protected]

Réimplémentation de QWidget::paintEvent().

Dessine la table à la réception de l'événement de dessin event donné.

void QTableView::resizeColumnToContents ( int column ) [slot]

Redimensionne la colonne column en se basant sur les indications de taille du délégué utilisé pour l'affichage de chaque élément dans la colonne.

Note : seulement les colonnes visibles vont être redimensionnées. Réimplémentez sizeHintForColumn() pour aussi redimensionner les colonnes cachées.

void QTableView::resizeColumnsToContents () [slot]

Redimensionne toutes les colonnes en se basant sur les indications de taille des délégués utilisés pour l'affichage de chaque élément dans les colonnes.

void QTableView::resizeRowToContents ( int row ) [slot]

Redimensionne la ligne row en se basant sur les indications de taille du délégué utilisé pour afficher chaque élément dans la colonne.

void QTableView::resizeRowsToContents () [slot]

Redimensionne toutes les lignes en se basant sur les indications de taille des délégués utilisés pour afficher chaque élément dans les lignes.

int QTableView::rowAt ( int y ) const

Retourne la ligne où se situe la coordonnée y sur l'axe des ordonnées.

Note : cette fonction retourne -1 si la coordonnée n'est pas valide (n'a pas de ligne correspondante).

Voir aussi columnAt().

void QTableView::rowCountChanged ( int oldCount, int newCount ) [protected slot]

Ce slot est appelé chaque fois qu'une ligne est ajoutée ou détruite. Le nombre de lignes précédent est spécifié par oldCount et le nouveau par newCount.

int QTableView::rowHeight ( int row ) const

Retourne la hauteur de la ligne row.

Voir aussi setRowHeight(), resizeRowToContents() et columnWidth().

void QTableView::rowMoved ( int row, int oldIndex, int newIndex ) [protected slot]

Ce slot est appelé à chaque déplacement de la ligne row dans la table. L'ancien index est passé dans oldIndex et le nouveau dans newIndex.

Voir aussi columnMoved().

void QTableView::rowResized ( int row, int oldHeight, int newHeight ) [protected slot]

Ce slot est appelé à chaque changement de hauteur pour la ligne row. L'ancienne hauteur est spécifiée par oldHeight et la nouvelle par newHeight.

Voir aussi columnResized().

int QTableView::rowSpan ( int row, int column ) const

Retourne l'espacement de la ligne de l'élément à (row, column) dans la table. La valeur par défaut est définie à 1.

Cette fonction a été introduite dans Qt 4.2.

Voir aussi setSpan() et columnSpan().

int QTableView::rowViewportPosition ( int row ) const

Retourne la coordonnée y sur l'axe des ordonnées dans l'espace du contenu de la ligne row.

void QTableView::selectColumn ( int column ) [slot]

Sélectionne la colonne column dans la table si le mode de sélection courant et le comportement de sélection autorisent les colonnes à être sélectionnées.

Voir aussi selectRow().

void QTableView::selectRow ( int row ) [slot]

Sélectionne la ligne row de la table si le mode de sélection courant et le comportement de sélection autorisent les lignes à être sélectionnées.

Voir aussi selectColumn().

QModelIndexList QTableView::selectedIndexes () const [virtual protected]

Réimplémentation de QAbstractItemView::selectedIndexes().

void QTableView::selectionChanged ( const QItemSelection & selected, const QItemSelection & deselected ) [virtual protected]

Réimplémentation de QAbstractItemView::selectionChanged().

void QTableView::setColumnHidden ( int column, bool hide )

Si hide est défini à true, la colonne column sera cachée ; sinon, elle sera affichée.

Voir aussi isColumnHidden() et setRowHidden().

void QTableView::setColumnWidth ( int column, int width )

Définit la largeur de la colonne column à width.

Cette fonction a été introduite dans Qt 4.1.

Voir aussi columnWidth().

void QTableView::setHorizontalHeader ( QHeaderView * header )

Définit le widget header à utiliser pour l'en-tête horizontal.

Voir aussi horizontalHeader() et setVerticalHeader().

void QTableView::setModel ( QAbstractItemModel * model ) [virtual]

Réimplémentation de QAbstractItemView::setModel().

void QTableView::setRootIndex ( const QModelIndex & index ) [virtual]

Réimplémentation de QAbstractItemView::setRootIndex().

void QTableView::setRowHeight ( int row, int height )

Définit la hauteur de la ligne row à la valeur height.

Cette fonction a été introduite dans Qt 4.1.

Voir aussi rowHeight().

void QTableView::setRowHidden ( int row, bool hide )

Si hide vaut true, la ligne row sera cachée, sinon elle sera affichée.

Voir aussi isRowHidden() et setColumnHidden().

void QTableView::setSelection ( const QRect & rect, QItemSelectionModel::SelectionFlags flags ) [virtual protected]

Réimplémentation de QAbstractItemView::setSelection().

Sélectionne les éléments compris dans le rectangle rect en adéquation avec les options de sélection flags.

void QTableView::setSelectionModel ( QItemSelectionModel * selectionModel ) [virtual]

Réimplémentation de QAbstractItemView::setSelectionModel().

void QTableView::setSpan ( int row, int column, int rowSpanCount, int columnSpanCount )

Définit l'espacement de l'élément de la table à (row, column) aux nombres de lignes et colonnes spécifiés par (rowSpanCount, columnSpanCount).

Cette fonction a été introduite dans Qt 4.2.

Voir aussi rowSpan() et columnSpan().

void QTableView::setVerticalHeader ( QHeaderView * header )

Définit le widget header à utiliser pour l'en-tête vertical.

Voir aussi verticalHeader() et setHorizontalHeader().

void QTableView::showColumn ( int column ) [slot]

Affiche la colonne column.

Voir aussi hideColumn() et showRow().

void QTableView::showRow ( int row ) [slot]

Affiche la ligne row.

Voir aussi hideRow() et showColumn().

int QTableView::sizeHintForColumn ( int column ) const [virtual protected]

Réimplémentation de QAbstractItemView::sizeHintForColumn().

Retourne l'indication de largeur pour la colonne column ou -1 s'il n'y a pas de modèle.

Si vous devez définir la largeur d'une colonne donnée à une valeur fixe, appelez la fonction QHeaderView::resizeSection() de l'en-tête horizontal de la table.

Si vous réimplémentez cette fonction dans une sous-classe, notez que la valeur retournée sera utilisée lorsque les fonctions resizeColumnToContents() ou QHeaderView::resizeSections() seront appelées. Si une colonne plus large est requise par l'en-tête horizontal ou l'objet délégué, alors elle sera utilisée à la place.

Voir aussi QWidget::sizeHint et horizontalHeader().

int QTableView::sizeHintForRow ( int row ) const [virtual protected]

Réimplémentation de QAbstractItemView::sizeHintForRow().

Retourne l'indication de hauteur pour la ligne row ou -1 s'il n'y a pas de modèle.

Si vous devez définir la hauteur d'une ligne donnée à une valeur fixe, appelez QHeaderView::resizeSection() de l'en-tête vertical de la table.

Si vous réimplémentez cette fonction dans une sous-classe, notez que la valeur retournée sera utilisée lorsque la fonction resizeRowToContents() sera appelée. Dans ce cas, si une hauteur plus grande est requise par l'en-tête vertical ou par l'objet délégué, alors elle sera utilisée à la place.

Voir aussi QWidget::sizeHint et verticalHeader().

void QTableView::sortByColumn ( int column, Qt::SortOrder order )

Trie le modèle selon les valeurs de la colonne column suivant l'ordre order.

Cette fonction a été introduite dans Qt 4.2.

Voir aussi sortingEnabled.

void QTableView::timerEvent ( QTimerEvent * event ) [virtual protected]

Réimplémentation de QObject::timerEvent().

void QTableView::updateGeometries () [virtual protected]

Réimplémentation de QAbstractItemView::updateGeometries().

QHeaderView * QTableView::verticalHeader () const

Retourne l'en-tête vertical de la table.

Voir aussi setVerticalHeader(), horizontalHeader() et QAbstractItemModel::headerData().

int QTableView::verticalOffset () const [virtual protected]

Réimplémentation de QAbstractItemView::verticalOffset().

Retourne le décalage vertical entre les éléments de la table.

Notez que la table utilise la position de la section de l'en-tête vertical pour déterminer la position des lignes dans la vue.

Voir aussi horizontalOffset().

QStyleOptionViewItem QTableView::viewOptions () const [virtual protected]

Réimplémentation de QAbstractItemView::viewOptions().

Remerciements

Merci à Alexandre Laurent pour la traduction ainsi qu'à Jonathan Courtois, Thibaut Cuvelier et Claude Leloup pour leur relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année
  1. « Quelque chose ne va vraiment pas avec les développeurs "modernes" », un développeur à "l'ancienne" critique la multiplication des bibliothèques 82
  2. Apercevoir la troisième dimension ou l'utilisation multithreadée d'OpenGL dans Qt, un article des Qt Quarterly traduit par Guillaume Belz 0
  3. Les développeurs ignorent-ils trop les failles découvertes dans leur code ? Prenez-vous en compte les remarques des autres ? 17
  4. BlackBerry 10 : premières images du prochain OS de RIM qui devrait intégrer des widgets et des tuiles inspirées de Windows Phone 0
  5. Quelles nouveautés de C++11 Visual C++ doit-il rapidement intégrer ? Donnez-nous votre avis 10
  6. Adieu qmake, bienvenue qbs : Qt Building Suite, un outil déclaratif et extensible pour la compilation de projets Qt 17
  7. 2017 : un quinquennat pour une nouvelle version du C++ ? Possible, selon Herb Sutter 6
Page suivante

Le Qt Developer Network au hasard

Logo

Applications mobiles modernes avec Qt et QML

Le Qt Developer Network est un réseau de développeurs Qt anglophone, où ils peuvent partager leur expérience sur le framework. Lire l'article.

Communauté

Ressources

Liens utiles

Contact

  • Vous souhaitez rejoindre la rédaction ou proposer un tutoriel, une traduction, une question... ? Postez dans le forum Contribuez ou contactez-nous par MP ou par email (voir en bas de page).

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 !
 
 
 
 
Partenaires

Hébergement Web