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: |
パブリックな型
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
このプロパティは、セル内の各項目の配置を保持します。
このプロパティは、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) |
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>())
再実装: (const QModelIndex ¤t, 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)。
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()
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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。