QListView Class
QListViewクラスは、モデル上にリストやアイコンのビューを提供します。詳細...
ヘッダー | #include <QListView> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
を継承する: | QAbstractItemView |
によって継承される: |
パブリックな型
enum | Flow { LeftToRight, TopToBottom } |
enum | LayoutMode { SinglePass, Batched } |
enum | Movement { Static, Free, Snap } |
enum | ResizeMode { Fixed, Adjust } |
enum | ViewMode { ListMode, IconMode } |
プロパティ
|
|
パブリック関数
QListView(QWidget *parent = nullptr) | |
virtual | ~QListView() |
int | batchSize() const |
void | clearPropertyFlags() |
QListView::Flow | flow() const |
QSize | gridSize() const |
bool | isRowHidden(int row) const |
bool | isSelectionRectVisible() const |
bool | isWrapping() const |
Qt::Alignment | itemAlignment() const |
QListView::LayoutMode | layoutMode() const |
int | modelColumn() const |
QListView::Movement | movement() const |
QListView::ResizeMode | resizeMode() const |
void | setBatchSize(int batchSize) |
void | setFlow(QListView::Flow flow) |
void | setGridSize(const QSize &size) |
void | setItemAlignment(Qt::Alignment alignment) |
void | setLayoutMode(QListView::LayoutMode mode) |
void | setModelColumn(int column) |
void | setMovement(QListView::Movement movement) |
void | setResizeMode(QListView::ResizeMode mode) |
void | setRowHidden(int row, bool hide) |
void | setSelectionRectVisible(bool show) |
void | setSpacing(int space) |
void | setUniformItemSizes(bool enable) |
void | setViewMode(QListView::ViewMode mode) |
void | setWordWrap(bool on) |
void | setWrapping(bool enable) |
int | spacing() const |
bool | uniformItemSizes() const |
QListView::ViewMode | viewMode() const |
bool | wordWrap() const |
再実装パブリック関数
virtual QModelIndex | indexAt(const QPoint &p) const override |
virtual void | scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) override |
virtual void | setRootIndex(const QModelIndex &index) override |
virtual QRect | visualRect(const QModelIndex &index) const override |
シグナル
void | indexesMoved(const QModelIndexList &indexes) |
保護された関数
QRect | rectForIndex(const QModelIndex &index) const |
void | setPositionForIndex(const QPoint &position, const QModelIndex &index) |
再実装された保護された関数
virtual void | currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override |
virtual void | dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>()) override |
virtual void | dragLeaveEvent(QDragLeaveEvent *e) override |
virtual void | dragMoveEvent(QDragMoveEvent *e) override |
virtual void | dropEvent(QDropEvent *event) override |
virtual bool | event(QEvent *e) override |
virtual int | horizontalOffset() const override |
virtual void | initViewItemOption(QStyleOptionViewItem *option) const override |
virtual bool | isIndexHidden(const QModelIndex &index) const override |
virtual void | mouseMoveEvent(QMouseEvent *e) override |
virtual void | mouseReleaseEvent(QMouseEvent *e) override |
virtual QModelIndex | moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) override |
virtual void | paintEvent(QPaintEvent *e) override |
virtual void | resizeEvent(QResizeEvent *e) override |
virtual void | rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end) override |
virtual void | rowsInserted(const QModelIndex &parent, int start, int end) override |
virtual void | scrollContentsBy(int dx, int dy) override |
virtual QModelIndexList | selectedIndexes() const override |
virtual void | selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override |
virtual void | setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command) override |
virtual void | startDrag(Qt::DropActions supportedActions) override |
virtual void | timerEvent(QTimerEvent *e) override |
virtual void | updateGeometries() override |
virtual int | verticalOffset() const override |
virtual QSize | viewportSizeHint() const override |
virtual QRegion | visualRegionForSelection(const QItemSelection &selection) const override |
virtual void | wheelEvent(QWheelEvent *e) override |
詳細説明
QListViewは、モデルに格納されたアイテムを、単純な非階層リストとして、またはアイコンのコレクションとして表示します。このクラスは、以前はQListBox
やQIconView
クラスによって提供されていたリストやアイコンビューを、Qt のモデル/ビューアーキテクチャによって提供されるより柔軟なアプローチで提供するために使用されます。
QListViewクラスはモデル/ビュー・クラスの1つで、Qtのモデル/ビュー・フレームワークの一部です。
このビューは、水平方向や垂直方向のヘッダーを表示しません。水平方向のヘッダーを持つアイテムのリストを表示するには、代わりにQTreeView を使用してください。
QListViewは、QAbstractItemModel クラスから派生したモデルによって提供されたデータを表示できるように、QAbstractItemView クラスによって定義されたインターフェースを実装しています。
リスト・ビューの項目は、2つのビュー・モードのいずれかを使用して表示できます:ListMode では、項目は単純なリストの形で表示されます。IconMode では、リスト・ビューはアイコン・ビューの形をとり、項目はファイル・マネージャのファイルのようなアイコンで表示されます。デフォルトでは、リスト表示はListMode になっている。ビュー・モードを変更するには、setViewMode ()関数を使用し、現在のビュー・モードを決定するには、viewMode ()関数を使用する。
これらのビューの項目は、リスト・ビューのflow() で指定された方向にレイアウトされる。ビューのmovement() の状態によって、項目は固定されたり、移動が許可されたりします。
モデルのアイテムが流れ方向に完全にレイアウトできない場合、ビューウィジェットの境界でラップすることができます。これはisWrapping() に依存します。このプロパティは、アイテムがアイコン・ビューで表現されている場合に便利です。
resizeMode ()とlayoutMode ()は、アイテムのレイアウト方法とタイミングを制御します。アイテムは、spacing ()に従って間隔が置かれ、gridSize ()で指定されたサイズの想定グリッド内に存在することができます。アイテムは、iconSize ()に応じて、大小のアイコンとしてレンダリングされる。
パフォーマンスの向上
多数のアイテムを表示する際のパフォーマンスを向上させるために、ビューが扱うデータに関するヒントを与えることが可能です。等しいサイズのアイテムを表示することを意図しているビューのために取ることができる1つのアプローチは、uniformItemSizes プロパティをtrueに設定することです。
ビュークラス、QTreeView 、QTableView 、QListWidgetも参照してください 。
メンバ型ドキュメント
enum QListView::Flow
定数 | 値 | 説明 |
---|---|---|
QListView::LeftToRight | 0 | アイテムはビュー内で左から右にレイアウトされます。 |
QListView::TopToBottom | 1 | アイテムは、ビューで上から下にレイアウトされます。 |
enum QListView::LayoutMode
定数 | 値 | 説明 |
---|---|---|
QListView::SinglePass | 0 | アイテムは一度に並べられる。 |
QListView::Batched | 1 | アイテムはbatchSize アイテム単位で並べられます。 |
batchSizeも参照してください 。
enum QListView::Movement
定数 | 値 | 説明 |
---|---|---|
QListView::Static | 0 | アイテムはユーザーによって移動できません。 |
QListView::Free | 1 | アイテムはユーザが自由に移動できる。 |
QListView::Snap | 2 | アイテムを移動すると、指定したグリッドにスナップします。setGridSize() を参照してください。 |
enum QListView::ResizeMode
定数 | 値 | 説明 |
---|---|---|
QListView::Fixed | 0 | アイテムは、ビューが最初に表示された時のみレイアウトされます。 |
QListView::Adjust | 1 | アイテムは、ビューのサイズが変更されるたびにレイアウトされます。 |
enum QListView::ViewMode
定数 | 値 | 説明 |
---|---|---|
QListView::ListMode | 0 | アイテムは、TopToBottom フローを使用してレイアウトされます。 |
QListView::IconMode | 1 | アイテムは、LeftToRight フローを使用してレイアウトされ、サイズは大きく、移動は自由です。 |
プロパティの説明
batchSize : int
このプロパティは、layoutMode がBatched に設定されている場合に、各バッチにレイアウトされるアイテムの数を保持する。
デフォルト値は100である。
アクセス関数:
int | batchSize() const |
void | setBatchSize(int batchSize) |
flow : Flow
このプロパティは、アイテムのレイアウトをどの方向に流すかを保持する。
このプロパティがLeftToRight の場合、アイテムは左から右にレイアウトされます。isWrapping プロパティがtrue
の場合、レイアウトは可視領域の右側に達すると折り返されます。このプロパティがTopToBottom の場合、アイテムは可視領域の上側からレイアウトされ、下側に達すると折り返されます。
ビューが表示されているときにこのプロパティを設定すると、アイテムは再びレイアウトされます。
デフォルトでは、このプロパティはTopToBottom に設定されています。
アクセス関数:
QListView::Flow | flow() const |
void | setFlow(QListView::Flow flow) |
viewModeも参照してください 。
gridSize : QSize
このプロパティは、レイアウトグリッドのサイズを保持する
このプロパティは、アイテムがレイアウトされるグリッドのサイズです。デフォルトは空のサイズで、これはグリッドがなく、レイアウトがグリッドで行われないことを意味します。このプロパティを空でないサイズに設定すると、グリッドレイアウトが有効になります。(グリッドレイアウトが有効な場合、spacing プロパティは無視されます)。
ビューが表示されているときにこのプロパティを設定すると、アイテムが再びレイアウトされます。
アクセス関数:
QSize | gridSize() const |
void | setGridSize(const QSize &size) |
viewModeも参照してください 。
isWrapping : bool
このプロパティは、アイテムのレイアウトを折り返すかどうかを保持します。
このプロパティは、可視領域にスペースがなくなったときにレイアウトを折り返すかどうかを保持します。レイアウトが折り返されるポイントは、flow プロパティに依存します。
ビューが表示されているときにこのプロパティを設定すると、アイテムが再びレイアウトされます。
デフォルトでは、このプロパティはfalse
です。
アクセス関数です:
bool | isWrapping() const |
void | setWrapping(bool enable) |
viewModeも参照してください 。
itemAlignment : Qt::Alignment
このプロパティは、セル内の各項目の配置を保持する。
このプロパティは、ListMode でTopToBottom フローがあり、折り返しが有効になっている場合にのみサポートされます。デフォルトの整列は0であり、これは項目がそのセルを完全に埋めることを意味する。
アクセス関数:
Qt::Alignment | itemAlignment() const |
void | setItemAlignment(Qt::Alignment alignment) |
layoutMode : LayoutMode
は、アイテムのレイアウトを即座に行うか、遅延させるかを決定する。
このプロパティは、アイテムのレイアウトモードを保持します。モードがSinglePass (デフォルト)の場合、アイテムはすべて一度にレイアウトされます。モードがBatched の場合、batchSize のアイテムがイベント処理中に一括でレイアウトされます。これにより、残りのアイテムがレイアウトされている間に、表示されているアイテムを即座に表示し、操作することができます。
アクセス機能:
QListView::LayoutMode | layoutMode() const |
void | setLayoutMode(QListView::LayoutMode mode) |
viewModeも参照 。
modelColumn : int
このプロパティは、表示されるモデルの列を保持します。
デフォルトでは、このプロパティには0が格納され、モデルの最初の列が表示されることを示します。
アクセス関数:
int | modelColumn() const |
void | setModelColumn(int column) |
movement : Movement
このプロパティは、アイテムが自由に移動できるか、グリッドにスナップされるか、または全く移動できないかを保持します。
このプロパティは、ユーザーがビュー内のアイテムをどのように移動できるかを決定します。Static は、ユーザーがアイテムを移動できないことを意味します。Free は、ユーザーがビュー内の任意の位置にアイテムをドラッグ&ドロップできることを意味します。Snap は、ユーザーがアイテムをドラッグ&ドロップできることを意味しますが、gridSize プロパティで指定された想定グリッドの位置にのみ移動できます。
ビューが表示されているときにこのプロパティを設定すると、アイテムは再びレイアウトされます。
デフォルトでは、このプロパティはStatic に設定されています。
アクセス関数:
QListView::Movement | movement() const |
void | setMovement(QListView::Movement movement) |
gridSize 、resizeMode 、viewModeも参照してください 。
resizeMode : ResizeMode
このプロパティは、ビューのサイズが変更されたときにアイテムが再度レイアウトされるかどうかを保持する。
このプロパティがAdjust の場合、ビューのサイズが変更されたときにアイテムが再度レイアウトされます。値がFixed の場合、ビューのサイズが変更されたときにアイテムはレイアウトされません。
デフォルトでは、このプロパティはFixed に設定されています。
アクセス関数:
QListView::ResizeMode | resizeMode() const |
void | setResizeMode(QListView::ResizeMode mode) |
movement 、gridSize 、viewModeも参照 。
selectionRectVisible : bool
選択矩形を可視にする場合
このプロパティがtrue
の場合、選択矩形は可視となり、そうでない場合は非表示となります。
注意: 選択矩形が表示されるのは、選択モードが複数の項目を選択できるモードである場合のみです;つまり、選択モードがQAbstractItemView::SingleSelection の場合は選択矩形は描画されません。
デフォルトでは、このプロパティはfalse
です。
アクセス関数:
bool | isSelectionRectVisible() const |
void | setSelectionRectVisible(bool show) |
spacing : int
このプロパティは、レイアウト内のアイテムの周りのスペースを保持します。
このプロパティは、レイアウト内のアイテムの周りにパッドされる空のスペースのサイズです。
ビューが表示されているときにこのプロパティを設定すると、アイテムが再度レイアウトされます。
デフォルトでは、このプロパティの値は0です。
アクセス関数:
int | spacing() const |
void | setSpacing(int space) |
viewModeも参照してください 。
uniformItemSizes : bool
このプロパティは、リストビュー内のすべてのアイテムが同じサイズであるかどうかを保持します。
このプロパティは、ビュー内のすべてのアイテムのサイズが同じであることが保証されている場合にのみ、true に設定する必要があります。これにより、ビューはパフォーマンス目的でいくつかの最適化を行うことができます。
デフォルトでは、このプロパティはfalse
です。
アクセス関数:
bool | uniformItemSizes() const |
void | setUniformItemSizes(bool enable) |
viewMode : ViewMode
このプロパティはQListView のビューモードを保持する。
このプロパティは、他の未設定のプロパティを、設定されたビュー・モードに適合するように変更する。QListView clearPropertyFlags ()が呼び出されない限り、既に設定されている特定のプロパティは変更されません。
ビュー・モードを設定すると、選択された動きに基づいてドラッグ・アンド・ドロップが有効または無効になります。ListMode の場合、デフォルトの動きはStatic (ドラッグ・アンド・ドロップ無効)です。IconMode の場合、デフォルトの動きはFree (ドラッグ・アンド・ドロップ有効)です。
アクセス関数:
QListView::ViewMode | viewMode() const |
void | setViewMode(QListView::ViewMode mode) |
isWrapping 、spacing 、gridSize 、flow 、movement 、resizeModeも参照してください 。
wordWrap : bool
このプロパティは、項目テキストの単語折り返しポリシーを保持する。
このプロパティがtrue
の場合、アイテムのテキストは必要に応じて単語区切りで折り返されます。このプロパティはデフォルトでfalse
です。
折り返しが有効になっていても、テキストが入るスペースを確保するためにセルが拡張されるわけではないことに注意してください。ビューのtextElideMode に従って、表示できないテキストには省略記号が表示されます。
アクセス関数:
bool | wordWrap() const |
void | setWordWrap(bool on) |
メンバ関数ドキュメント
[explicit]
QListView::QListView(QWidget *parent = nullptr)
モデルを表示するために、与えられたparent で新しい QListView を作成します。モデルを設定するにはsetModel() を使用します。
[virtual noexcept]
QListView::~QListView()
景観を破壊する。
void QListView::clearPropertyFlags()
QListView-固有のプロパティフラグをクリアする。viewMode を参照してください。
QAbstractItemView から継承されたプロパティは、プロパティ・フラグの対象外である。具体的には、dragEnabled およびacceptsDrops は、setMovement() またはsetViewMode() を呼び出す際に、QListView によって計算される。
[override virtual protected]
void QListView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
再実装:QAbstractItemView::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)。
[override virtual protected]
void QListView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
再実装:QAbstractItemView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles)。
[override virtual protected]
void QListView::dragLeaveEvent(QDragLeaveEvent *e)
再実装:QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event)。
[override virtual protected]
void QListView::dragMoveEvent(QDragMoveEvent *e)
再実装:QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)。
[override virtual protected]
void QListView::dropEvent(QDropEvent *event)
再実装:QAbstractItemView::dropEvent(QDropEvent *event)。
[override virtual protected]
bool QListView::event(QEvent *e)
再実装:QAbstractItemView::event(QEvent *event)。
[override virtual protected]
int QListView::horizontalOffset() const
再実装:QAbstractItemView::horizontalOffset() const.
[override virtual]
QModelIndex QListView::indexAt(const QPoint &p) const
再実装:QAbstractItemView::indexAt(const QPoint &point) const.
[signal]
void QListView::indexesMoved(const QModelIndexList &indexes)
このシグナルは、指定されたindexes がビュー内で移動されたときに発せられる。
[override virtual protected]
void QListView::initViewItemOption(QStyleOptionViewItem *option) const
再実装:QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const.
[override virtual protected]
bool QListView::isIndexHidden(const QModelIndex &index) const
再実装:QAbstractItemView::isIndexHidden(const QModelIndex &index) const.
bool QListView::isRowHidden(int row) const
row が非表示の場合はtrue
を返し、そうでない場合はfalse
を返す。
[override virtual protected]
void QListView::mouseMoveEvent(QMouseEvent *e)
再実装:QAbstractItemView::mouseMoveEvent(QMouseEvent *event)。
[override virtual protected]
void QListView::mouseReleaseEvent(QMouseEvent *e)
再実装:QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)。
[override virtual protected]
QModelIndex QListView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)
再実装:QAbstractItemView::moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers)を再実装しています。
[override virtual protected]
void QListView::paintEvent(QPaintEvent *e)
再実装:QAbstractScrollArea::paintEvent(QPaintEvent *event)。
[protected]
QRect QListView::rectForIndex(const QModelIndex &index) const
モデル内の位置index にあるアイテムの矩形を返す。矩形はコンテンツ座標です。
visualRect()も参照してください 。
[override virtual protected]
void QListView::resizeEvent(QResizeEvent *e)
再実装:QAbstractItemView::resizeEvent(QResizeEvent *event)。
[override virtual protected]
void QListView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
再実装:QAbstractItemView::rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end).
[override virtual protected]
void QListView::rowsInserted(const QModelIndex &parent, int start, int end)
再実装:QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end).
[override virtual protected]
void QListView::scrollContentsBy(int dx, int dy)
再実装:QAbstractScrollArea::scrollContentsBy(int dx, int dy).
ビューの内容をdx とdy でスクロールします。
[override virtual]
void QListView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible)
再実装:QAbstractItemView::scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint).
[override virtual protected]
QModelIndexList QListView::selectedIndexes() const
再実装:QAbstractItemView::selectedIndexes() const.
[override virtual protected]
void QListView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
再実装:QAbstractItemView::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected).
[protected]
void QListView::setPositionForIndex(const QPoint &position, const QModelIndex &index)
モデル内のindex にあるアイテムのコンテンツ位置を、指定されたposition に設定する。リストビューの移動モードが Static、またはビューモードがListView の場合、この関数は何の効果も持ちません。
[override virtual]
void QListView::setRootIndex(const QModelIndex &index)
再実装:QAbstractItemView::setRootIndex(const QModelIndex &index)。
void QListView::setRowHidden(int row, bool hide)
hide が真なら、与えられたrow は隠され、そうでなければrow が表示される。
isRowHidden()も参照のこと 。
[override virtual protected]
void QListView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags command)
再実装:QAbstractItemView::setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags).
[override virtual protected]
void QListView::startDrag(Qt::DropActions supportedActions)
再実装:QAbstractItemView::startDrag(Qt::DropActions supportedActions).
[override virtual protected]
void QListView::timerEvent(QTimerEvent *e)
再実装:QAbstractItemView::timerEvent(QTimerEvent *event).
[override virtual protected]
void QListView::updateGeometries()
再インプリメント:QAbstractItemView::updateGeometries().
[override virtual protected]
int QListView::verticalOffset() const
再実装:QAbstractItemView::verticalOffset() const.
[override virtual protected]
QSize QListView::viewportSizeHint() const
再実装:QAbstractItemView::viewportSizeHint() const.
[override virtual]
QRect QListView::visualRect(const QModelIndex &index) const
再実装:QAbstractItemView::visualRect(const QModelIndex &index) const.
[override virtual protected]
QRegion QListView::visualRegionForSelection(const QItemSelection &selection) const
再実装:QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const.
4.7 以降、返される領域はビューポートと交差する(またはビューポートに含まれる)矩形のみを含みます。
[override virtual protected]
void QListView::wheelEvent(QWheelEvent *e)
再インプリメント:QAbstractScrollArea::wheelEvent(QWheelEvent *e).
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.