Developpez.com - Qt
X

Choisissez d'abord la catégorieensuite la rubrique :

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  · 

QListView

La classe QListView fournit une vue de listes ou d'icônes sur un modèle. Plus d'informations...

#include <QListView>

Voir la position dans l'arbre des classes.

  

Héritage

Hérite de QAbstractItemView.

Héritée par QHelpIndexWidget, QListWidget et QUndoView.

Description détaillée

La classe QListView fournit une vue de listes ou d'icônes sur un modèle.

La QListView présente les éléments contenus dans un modèle soit comme une simple liste sans hiérarchie, soit comme une collection d'icônes. Cette classe est utilisée pour fournir l'affichage de listes et d'icônes qui étaient auparavant affichées par les classes QListBox et QIconView en utilisant l'approche flexible de l'architecture modèle/vue de Qt.

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

Cette vue n'affiche pas d'en-tête horizontal, ni d'en-tête vertical ; afin d'afficher une liste d'éléments avec un en-tête horizontal, utilisez QTreeView.

QListView implémente les interfaces définies par la classe QAbstractItemView qui lui permettent d'afficher les données fournies par les modèles dérivant de la classe QAbstractItemModel.

Les éléments de la liste peuvent être affichés en utilisant l'un des deux modes suivants : avec le mode ListMode, les éléments sont affichés sous la forme d'une simple liste ; avec le mode IconMode, la liste prend la forme d'une vue icônes dans laquelle les éléments sont affichés à coté d'icônes comme des fichiers dans les gestionnaire de fichiers. Par défaut, la vue utilise le mode ListMode. Pour changer le mode, utilisez la fonction setViewMode() et la fonction viewMode() pour connaitre le mode actuel.

Dans ces vues, les éléments sont disposés dans la direction spécifiée par flow(). Les éléments peuvent être statiques ou mobiles selon l'état retourné par movement().

Si les éléments du modèle ne peuvent pas tous être affichés dans la direction du flux, ils peuvent être découpés par les bords du widget ; cela dépend de la propriété isWrapping(). Cette propriété est utile, notamment lorsque les éléments sont représentés par une vue d'icônes.

Les fonctions resizeMode() et layoutMode() informent de la façon dont les éléments vont être disposés. Les éléments sont espacés selon spacing() et Qt détermine s'ils peuvent être affichés selon l'espace spécifié par gridSize(). Les éléments peuvent être affichés avec de grandes ou petites icônes selon leur iconSize().

image image image
Une liste avec le style de Windows XP. Une liste avec le style de Macintosh. Une liste avec style Plastique.

Amélioration des performances

Il est possible de donner des indications sur les éléments à prendre en compte afin d'améliorer les performances lors de l'affichage de nombreux éléments. Une des approches utilisable par la vue qui va afficher les éléments de même taille consiste à mettre la propriété uniformItemSizes à true.

Voir aussi View Classes, QTreeView, QTableView et QListWidget.

Type

enum QListView::Flow

Constante Valeur Description
QListView::LeftToRight   Les éléments sont disposés de gauche à droite.
QListView::TopToBottom 1 Les éléments sont disposés de haut en bas.

enum QListView::LayoutMode

Constante Valeur Description
QListView::SinglePass   Les éléments sont disposés en une seule fois.
QListView::Batched 1 Les éléments sont disposés en plusieurs paquets de taille batchSize.

Voir aussi batchSize.

enum QListView::Movement

Constante Valeur Description
QListView::Static   Les éléments ne peuvent pas être déplacés par l'utilisateur.
QListView::Free 1 Les éléments peuvent être déplacés librement par l'utilisateur.
QListView::Snap 2 Les éléments s'alignent sur la grille lors du déplacement ; voir setGridSize().

enum QListView::ResizeMode

Constante Valeur Description
QListView::Fixed   Les éléments vont être disposés seulement lors du premier affichage de la vue.
QListView::Adjust 1 Les éléments vont être réorganisés à chaque redimensionnement de la vue.

enum QListView::ViewMode

Constante Valeur Description
QListView::ListMode   Les éléments sont disposés en utilisant l'organisation TopToBottom, avec une petite taille et en restreignant les mouvements.
QListView::IconMode 1 Les éléments sont disposés en utilisant l'organisation LeftToRight, avec une grande taille et en laissant la liberté de mouvement.

Propriétés

batchSize : int

La propriété contient le nombre d'éléments contenu dans chaque lot lorsque layoutMode est défini à Batched.

La valeur par défaut est 100.

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

Fonctions d'accès

int batchSize () const

void setBatchSize ( int batchSize )

flow : Flow

La propriété contient la direction dans laquelle les éléments doivent être disposés.

Si la propriété est définie à LeftToRight, les éléments vont être disposés de gauche à droite. Si la propriété isWrapping est définie à true, les mots vont passer à la ligne lorsqu'il n'y a pas assez de place sur la droite. Si la propriété est définie à TopToBottom, les éléments vont être disposés de haut en bas dans la zone visible, passant à la colonne suivante une fois le bas atteint.

Redéfinir la propriété lorsque la vue est visible va provoquer la réorganisation des éléments.

Par défaut, la propriété est définie à TopToBottom.

Fonctions d'accès

Flow flow () const

void setFlow ( Flow flow )

Voir aussi viewMode.

gridSize : QSize

La propriété contient la taille de la grille.

La valeur de la propriété indique la taille de la grille dans laquelle les éléments sont disposés. Par défaut la taille est vide, signifiant qu'il n'y a pas de grille et que la mise en page n'est pas faite dans une grille. En définissant cette propriété à une taille non vide, vous basculez sur une mise en page en grille (lorsqu'une mise en page en grille est en place, la propriété spacing est ignorée).

La redéfinition de cette propriété lorsque la vue est visible va provoquer la réorganisation des éléments.

Fonctions d'accès

QSize gridSize () const

void setGridSize ( const QSize & size )

Voir aussi viewMode.

isWrapping : bool

La propriété active ou désactive le retour à la ligne des éléments.

La valeur de la propriété détermine si la mise en page doit appliquer ou non le retour à la ligne lorsque la place est insuffisante. L'endroit du retour à la ligne dépend de la propriété flow.

La redéfinition de la propriété lorsque la vue est visible va provoquer la réorganisation des éléments.

Par défaut, la propriété est false.

Fonctions d'accès

bool isWrapping () const

void setWrapping ( bool enable )

Voir aussi viewMode.

layoutMode : LayoutMode

La propriété détermine si la mise ne page doit être faite en une fois ou non.

La propriété contient le mode de mise en page des éléments. Lorsque le mode est défini à SinglePass (celui par défaut), les éléments sont disposés en une seule fois. Lorsque le mode est défini à Batched, les éléments sont disposés par lot de batchSize éléments lors du traitement des événements. Cela permet de voir et d'interagir avec la vue pendant que le reste des éléments et en cours de mise en place.

Fonctions d'accès

LayoutMode layoutMode () const

void setLayoutMode ( LayoutMode mode )

Voir aussi viewMode.

modelColumn : int

La propriété contient l'index de la colonne du modèle visible.

Par défaut, la propriété contient 0, indiquant que la première colonne du modèle va être affichée.

Fonctions d'accès

int modelColumn () const

void setModelColumn ( int column )

movement : Movement

La propriété indique si les éléments peuvent être déplacés librement, attachés à la grille ou encore fixes.

La propriété détermine la façon dont l'utilisateur va pouvoir déplacer les éléments dans la vue. Static signifie que les éléments ne peuvent pas être déplacés. Free signifie que les utilisateurs peuvent glisser/déposer les éléments n'importe où dans la vue. Snap signifie que l'utilisateur peut glisser/déposer les éléments, mais uniquement aux positions déterminées par la grille selon la propriété gridSize.

La redéfinition de cette propriété lorsque la vue est visible va provoquer la réorganisation des éléments.

Par défaut, la propriété est définie à Static.

Fonctions d'accès

Movement movement () const

void setMovement ( Movement movement )

Voir aussi gridSize, resizeMode et viewMode.

resizeMode : ResizeMode

La propriété indique si les éléments doivent être réorganisés lorsque la vue est redimensionnée.

Si la propriété est définie à Adjust, les éléments vont être réorganisés lors du redimensionnement de la vue. Si la valeur est définie à Fixed, les éléments ne vont pas être réorganisés lors du redimensionnement de la vue.

Par défaut, la propriété est définie à Fixed.

Fonctions d'accès

ResizeMode resizeMode () const

void setResizeMode ( ResizeMode mode )

Voir aussi movement, gridSize et viewMode.

selectionRectVisible : bool

La propriété indique si le rectangle de sélection doit être visible.

Si la propriété est définie à true, le rectangle de sélection est visible ; sinon il ne va pas être affiché.

Note : le rectangle de sélection va être visible seulement si le mode de sélection est un mode permettant la sélection de plus d'un élément ; exemple : le rectangle de sélection n'est pas dessiné si le mode de sélection est QAbstractItemView::SingleSelection.

Par défaut, la propriété est définie à false.

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

Fonctions d'accès

bool isSelectionRectVisible () const

void setSelectionRectVisible ( bool show )

spacing : int

La propriété indique l'espace autour des éléments.

La propriété définit la taille d'espace vide qui est intercalé autour un élément dans la vue.

La redéfinition de cette propriété lorsque la vue est visible va provoquer la réorganisation des éléments.

Par défaut, la propriété vaut 0.

Fonctions d'accès

int spacing () const

void setSpacing ( int space )

Voir aussi viewMode.

uniformItemSizes : bool

La propriété indique si tous les éléments de la liste ont la même taille.

La propriété devrait être définie à true seulement s'il est garanti que tous les éléments de la vue ont la même taille. Cela permet l'activation d'optimisations améliorant les performances.

Par défaut, la propriété est définie à false.

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

Fonctions d'accès

bool uniformItemSizes () const

void setUniformItemSizes ( bool enable )

viewMode : ViewMode

La propriété indique le mode d'affichage de la QListView.

La propriété va modifier les autres propriétés non définies afin d'être conforme avec le mode d'affichage défini. Les propriétés spécifiques QListView qui ont déjà été définies ne vont pas être modifiées tant que clearPropertyFlags() n'a pas été appelé.

La définition du mode d'affichage va activer ou désactiver le glisser/déposer basé sur le mouvement sélectionné. Pour ListMode, le mouvement par défaut est Static (glisser/déposer désactivé); pour IconMode, le mouvement pas défaut est Free (glisser/déposer activé).

Fonctions d'accès

ViewMode viewMode () const

void setViewMode ( ViewMode mode )

Voir aussi isWrapping, spacing, gridSize, flow, movement et resizeMode.

wordWrap : bool

La propriété indique la politique de retour à la ligne 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é est définie à false par défaut.

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

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

Fonctions d'accès

bool wordWrap () const

void setWordWrap ( bool on )

Fonctions membres

QListView::QListView ( QWidget * parent = 0 )

Crée un nouveau QListView avec le parent donné pour afficher un modèle. Utilisez setModel() pour définir le modèle.

QListView::~QListView ()

Détruit la vue.

void QListView::clearPropertyFlags ()

Réinitialise les propriétés spécifiques de QListView. Voir viewMode.

Les propriétés héritant de QAbstractItemView ne sont pas affectées par les propriétés. Plus précisément, dragEnabled et acceptsDrops sont calculés par QListView lors de l'appel de setMovement() ou de setViewMode().

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

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

void QListView::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight ) [virtual protected]

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

void QListView::dragLeaveEvent ( QDragLeaveEvent * e ) [virtual protected]

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

void QListView::dragMoveEvent ( QDragMoveEvent * e ) [virtual protected]

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

void QListView::dropEvent ( QDropEvent * e ) [virtual protected]

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

bool QListView::event ( QEvent * e ) [virtual protected]

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

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

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

QModelIndex QListView::indexAt ( const QPoint & p ) const [virtual]

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

void QListView::indexesMoved ( const QModelIndexList & indexes ) [signal]

Ce signal est émis lorsque la variable spécifiée indexes est déplacée dans la vue.

Cette fonction a été introduite dans Qt 4.2.

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

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

bool QListView::isRowHidden ( int row ) const

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

void QListView::mouseMoveEvent ( QMouseEvent * e ) [virtual protected]

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

void QListView::mouseReleaseEvent ( QMouseEvent * e ) [virtual protected]

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

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

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

void QListView::paintEvent ( QPaintEvent * e ) [virtual protected]

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

QRect QListView::rectForIndex ( const QModelIndex & index ) const [protected]

Retourne le rectangle de l'élément à la position index dans le modèle. La rectangle est en coordonnées du contenu.

Voir aussi visualRect().

void QListView::resizeEvent ( QResizeEvent * e ) [virtual protected]

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

void QListView::rowsAboutToBeRemoved ( const QModelIndex & parent, int start, int end ) [virtual protected]

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

void QListView::rowsInserted ( const QModelIndex & parent, int start, int end ) [virtual protected]

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

void QListView::scrollTo ( const QModelIndex & index, ScrollHint hint = EnsureVisible ) [virtual]

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

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

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

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

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

void QListView::setPositionForIndex ( const QPoint & position, const QModelIndex & index ) [protected]

Définit la position du contenu de l'élément à index dans le modèle à la position donnée. Si le mode de mouvement de la vue est Static ou que le mode de la vue est ListView, cette fonction n'a aucun effet.

Cette fonction a été introduite dans Qt 4.1.

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

Si hide est true, alors la ligne row donnée va être cachée ; sinon la ligne row va être affichée.

Voir aussi isRowHidden().

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

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

void QListView::startDrag ( Qt::DropActions supportedActions ) [virtual protected]

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

void QListView::timerEvent ( QTimerEvent * e ) [virtual protected]

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

void QListView::updateGeometries () [virtual protected]

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

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

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

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

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

QRect QListView::visualRect ( const QModelIndex & index ) const [virtual]

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

QRegion QListView::visualRegionForSelection ( const QItemSelection & selection ) const [virtual protected]

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

Depuis 4.7, la région retournée contient les rectangles qui entrecoupent (ou sont inclus dans) le viewport.

Remerciements

Merci à Alexandre Laurent pour la traduction et à Jonathan Courtois ainsi qu'à Maxime Gault pour leur relecture !

Publicité

Best Of

Actualités les plus lues

Semaine
Mois
Année

Le blog Digia au hasard

Logo

Créer des applications avec un style Metro avec Qt, exemples en QML et C++, un article de Digia Qt traduit par Thibaut Cuvelier

Le blog Digia est l'endroit privilégié pour la communication sur l'édition commerciale de Qt, où des réponses publiques sont apportées aux questions les plus posées au support. 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

Responsable bénévole de la rubrique Qt : Thibaut Cuvelier -