QListView Class

QListViewクラスは、モデル上にリストやアイコンのビューを提供します。詳細...

Header: #include <QListView>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QAbstractItemView
Inherited By:

QHelpIndexWidget, QListWidget, and QUndoView

パブリックな型

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 &current, 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は、モデルに格納されたアイテムを、単純な非階層リスト、またはアイコンのコレクションとして表示します。このクラスは、以前はQListBoxQIconView クラスによって提供されていたリストやアイコンビューを、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に設定することです。

ビュークラスQTreeViewQTableViewQListWidgetも参照してください

メンバ型ドキュメント

enum QListView::Flow

定数説明
QListView::LeftToRight0アイテムはビュー内で左から右にレイアウトされます。
QListView::TopToBottom1アイテムは、ビュー内で上から下にレイアウトされます。

enum QListView::LayoutMode

定数説明
QListView::SinglePass0アイテムは一度にレイアウトされます。
QListView::Batched1アイテムは、batchSize アイテムごとにレイアウトされます。

batchSizeも参照してください

enum QListView::Movement

定数説明
QListView::Static0アイテムはユーザーによって移動できない。
QListView::Free1アイテムはユーザが自由に移動できる。
QListView::Snap2アイテムは、移動時に指定されたグリッドにスナップします;setGridSize()を参照してください。

enum QListView::ResizeMode

定数説明
QListView::Fixed0アイテムは、ビューが最初に表示された時のみレイアウトされます。
QListView::Adjust1アイテムは、ビューのサイズが変更されるたびにレイアウトされます。

enum QListView::ViewMode

定数説明
QListView::ListMode0アイテムは、TopToBottom フローを使用してレイアウトされます。
QListView::IconMode1アイテムは、LeftToRight フローを使用してレイアウトされます。

プロパティ ドキュメント

batchSize : int

このプロパティは、layoutModeBatched に設定されている場合に、各バッチにレイアウトされるアイテムの数を保持します。

デフォルト値は 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

このプロパティは、セル内の各項目の配置を保持します。

このプロパティは、TopToBottom フローを持つListMode と、折り返しが有効な場合のみサポートされます。デフォルトの整列は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)

gridSizeresizeModeviewModeも参照

resizeMode : ResizeMode

このプロパティは、ビューのサイズが変更されたときにアイテムが再度レイアウトされるかどうかを保持します。

このプロパティがAdjust の場合、ビューのサイズが変更されると、アイテムは再度レイアウトされます。値がFixed の場合、ビューのサイズが変更されてもアイテムはレイアウトされません。

デフォルトでは、このプロパティはFixed に設定されています。

アクセス関数:

QListView::ResizeMode resizeMode() const
void setResizeMode(QListView::ResizeMode mode)

movementgridSizeviewModeも参照

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)

isWrappingspacinggridSizeflowmovementresizeModeも参照してください

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 &current, const QModelIndex &previous)

再実装:QAbstractItemView::currentChanged(const QModelIndex &current, const QModelIndex &previous)。

[override virtual protected] void QListView::dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())

再実装: (const QModelIndex &current, const QModelIndex &previous):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

再リプルメント: (QEvent *event):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)

Reimplements: (QMouseEvent *event):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)

再リンプルメント:(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)

再実装:(const QModelIndex &parent, int start, int end):QAbstractScrollArea::scrollContentsBy(int dx, int dy)。

dxdy でビューコンテンツをスクロールする。

[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()

Reimplements: (QTimerEvent *event):QAbstractItemView::updateGeometries().

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

再リプルメント:QAbstractItemView::verticalOffset() const.

[override virtual protected] QSize QListView::viewportSizeHint() const

再リプルメント: () 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)。

©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。