QAbstractItemView Class

QAbstractItemViewクラスは、アイテムビュークラスの基本機能を提供します。詳細...

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

QColumnView, QHeaderView, QListView, QTableView, and QTreeView

パブリック型

enum DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove }
enum EditTrigger { NoEditTriggers, CurrentChanged, DoubleClicked, SelectedClicked, EditKeyPressed, …, AllEditTriggers }
flags EditTriggers
enum ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter }
enum ScrollMode { ScrollPerItem, ScrollPerPixel }
enum SelectionBehavior { SelectItems, SelectRows, SelectColumns }
enum SelectionMode { SingleSelection, ContiguousSelection, ExtendedSelection, MultiSelection, NoSelection }

プロパティ

パブリック関数

QAbstractItemView(QWidget *parent = nullptr)
virtual ~QAbstractItemView()
bool alternatingRowColors() const
int autoScrollMargin() const
void closePersistentEditor(const QModelIndex &index)
QModelIndex currentIndex() const
Qt::DropAction defaultDropAction() const
QAbstractItemView::DragDropMode dragDropMode() const
bool dragDropOverwriteMode() const
bool dragEnabled() const
QAbstractItemView::EditTriggers editTriggers() const
bool hasAutoScroll() const
QAbstractItemView::ScrollMode horizontalScrollMode() const
QSize iconSize() const
virtual QModelIndex indexAt(const QPoint &point) const = 0
QWidget *indexWidget(const QModelIndex &index) const
bool isPersistentEditorOpen(const QModelIndex &index) const
QAbstractItemDelegate *itemDelegate() const
QAbstractItemDelegate *itemDelegateForColumn(int column) const
(since 6.0) virtual QAbstractItemDelegate *itemDelegateForIndex(const QModelIndex &index) const
QAbstractItemDelegate *itemDelegateForRow(int row) const
virtual void keyboardSearch(const QString &search)
QAbstractItemModel *model() const
void openPersistentEditor(const QModelIndex &index)
void resetHorizontalScrollMode()
void resetVerticalScrollMode()
QModelIndex rootIndex() const
virtual void scrollTo(const QModelIndex &index, QAbstractItemView::ScrollHint hint = EnsureVisible) = 0
QAbstractItemView::SelectionBehavior selectionBehavior() const
QAbstractItemView::SelectionMode selectionMode() const
QItemSelectionModel *selectionModel() const
void setAlternatingRowColors(bool enable)
void setAutoScroll(bool enable)
void setAutoScrollMargin(int margin)
void setDefaultDropAction(Qt::DropAction dropAction)
void setDragDropMode(QAbstractItemView::DragDropMode behavior)
void setDragDropOverwriteMode(bool overwrite)
void setDragEnabled(bool enable)
void setDropIndicatorShown(bool enable)
void setEditTriggers(QAbstractItemView::EditTriggers triggers)
void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode)
void setIconSize(const QSize &size)
void setIndexWidget(const QModelIndex &index, QWidget *widget)
void setItemDelegate(QAbstractItemDelegate *delegate)
void setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
void setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)
virtual void setModel(QAbstractItemModel *model)
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)
void setSelectionMode(QAbstractItemView::SelectionMode mode)
virtual void setSelectionModel(QItemSelectionModel *selectionModel)
void setTabKeyNavigation(bool enable)
void setTextElideMode(Qt::TextElideMode mode)
void setVerticalScrollMode(QAbstractItemView::ScrollMode mode)
bool showDropIndicator() const
virtual int sizeHintForColumn(int column) const
QSize sizeHintForIndex(const QModelIndex &index) const
virtual int sizeHintForRow(int row) const
bool tabKeyNavigation() const
Qt::TextElideMode textElideMode() const
QAbstractItemView::ScrollMode verticalScrollMode() const
virtual QRect visualRect(const QModelIndex &index) const = 0

再実装パブリック関数

virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const override

パブリック・スロット

void clearSelection()
void edit(const QModelIndex &index)
virtual void reset()
void scrollToBottom()
void scrollToTop()
virtual void selectAll()
void setCurrentIndex(const QModelIndex &index)
virtual void setRootIndex(const QModelIndex &index)
void update(const QModelIndex &index)

シグナル

void activated(const QModelIndex &index)
void clicked(const QModelIndex &index)
void doubleClicked(const QModelIndex &index)
void entered(const QModelIndex &index)
void iconSizeChanged(const QSize &size)
void pressed(const QModelIndex &index)
void viewportEntered()

保護された型

enum CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, MoveHome, …, MovePrevious }
enum DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport }
enum State { NoState, DraggingState, DragSelectingState, EditingState, ExpandingState, …, AnimatingState }

保護された関数

QPoint dirtyRegionOffset() const
QAbstractItemView::DropIndicatorPosition dropIndicatorPosition() const
virtual bool edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)
void executeDelayedItemsLayout()
virtual int horizontalOffset() const = 0
(since 6.0) virtual void initViewItemOption(QStyleOptionViewItem *option) const
virtual bool isIndexHidden(const QModelIndex &index) const = 0
virtual QModelIndex moveCursor(QAbstractItemView::CursorAction cursorAction, Qt::KeyboardModifiers modifiers) = 0
void scheduleDelayedItemsLayout()
void scrollDirtyRegion(int dx, int dy)
virtual QModelIndexList selectedIndexes() const
virtual QItemSelectionModel::SelectionFlags selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const
void setDirtyRegion(const QRegion &region)
virtual void setSelection(const QRect &rect, QItemSelectionModel::SelectionFlags flags) = 0
void setState(QAbstractItemView::State state)
virtual void startDrag(Qt::DropActions supportedActions)
QAbstractItemView::State state() const
virtual int verticalOffset() const = 0
virtual QRegion visualRegionForSelection(const QItemSelection &selection) const = 0

再実装された保護された関数

virtual void dragEnterEvent(QDragEnterEvent *event) override
virtual void dragLeaveEvent(QDragLeaveEvent *event) override
virtual void dragMoveEvent(QDragMoveEvent *event) override
virtual void dropEvent(QDropEvent *event) override
virtual bool event(QEvent *event) override
virtual bool eventFilter(QObject *object, QEvent *event) override
virtual void focusInEvent(QFocusEvent *event) override
virtual bool focusNextPrevChild(bool next) override
virtual void focusOutEvent(QFocusEvent *event) override
virtual void inputMethodEvent(QInputMethodEvent *event) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mouseDoubleClickEvent(QMouseEvent *event) override
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void resizeEvent(QResizeEvent *event) override
virtual void timerEvent(QTimerEvent *event) override
virtual bool viewportEvent(QEvent *event) override
virtual QSize viewportSizeHint() const override

保護されたスロット

virtual void closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)
virtual void commitData(QWidget *editor)
virtual void currentChanged(const QModelIndex &current, const QModelIndex &previous)
virtual void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QList<int> &roles = QList<int>())
virtual void editorDestroyed(QObject *editor)
virtual void rowsAboutToBeRemoved(const QModelIndex &parent, int start, int end)
virtual void rowsInserted(const QModelIndex &parent, int start, int end)
virtual void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
virtual void updateGeometries()

詳細説明

QAbstractItemViewクラスは、QAbstractItemModel 。 QAbstractItemViewは抽象クラスであり、それ自身がインスタンス化されることはありません。このクラスは、シグナルとスロットのメカニズムを通してモデルと相互運用するための標準インターフェースを提供し、サブクラスがモデルの変更に常に対応できるようにします。このクラスは、キーボードとマウスによるナビゲーション、ビューポートのスクロール、アイテムの編集、選択の標準サポートを提供します。キーボードナビゲーションはこの機能を実装しています:

キー機能
矢印キー現在の項目を変更し、選択します。
Ctrl+矢印キー現在の項目を変更するが、選択しない。
Shift+矢印キー現在の項目を変更し、選択する。前に選択されていた項目は選択解除されない。
Ctrl+Space現在の項目の選択を切り替える。
タブ/バックタブ現在の項目を次/前の項目に変更する。
ホーム/エンドモデルの最初/最後の項目を選択します。
ページアップ/ページダウン表示されている行をビューの表示行数だけ上下にスクロールします。
Ctrl+Aモデル内のすべての項目を選択します。

上の表は、selection mode がその操作を許可していることを前提としていることに注意してください。例えば、選択モードがQAbstractItemView::NoSelection の場合、項目を選択することはできません。

QAbstractItemViewクラスはモデル/ビュー・クラスの1つで、Qtのモデル/ビュー・フレームワークの一部です。

QAbstractItemViewを継承したビュー・クラスは、アイテムの描画、アイテムのジオメトリの戻り値、アイテムの検索など、独自のビュー固有の機能のみを実装する必要があります。

QAbstractItemViewは、edit ()やsetCurrentIndex ()のような一般的なスロットを提供しています。また、dataChanged()、rowsInserted()、rowsAboutToBeRemoved()、selectionChanged()、currentChanged() など、多くの保護されたスロットも提供されています。

ルート・アイテムはrootIndex() で、現在のアイテムはcurrentIndex() で返される。アイテムが表示されていることを確認するには、scrollTo() を使用します。

QAbstractItemViewの関数の中には、setHorizontalScrollMode ()やsetVerticalScrollMode ()のように、スクロールに関係するものがあります。スクロール・バーの範囲を設定するには、例えば、ビューのresizeEvent() 関数を再実装します:

void MyView::resizeEvent(QResizeEvent *event) {
    horizontalScrollBar()->setRange(0, realWidth - width());
    ...
}

ウィジェットが表示されるまで、範囲は更新されないことに注意してください。

他のいくつかの関数は、選択制御に関係しています。例えば、setSelectionMode() やsetSelectionBehavior() です。このクラスは、デフォルトの選択モデルを提供しますが (selectionModel()) 、これはsetSelectionModel() をQItemSelectionModel のインスタンスで使用することで置き換えることができます。

アイテムの表示と編集を完全に制御するには、setItemDelegate() でデリゲートを指定します。

QAbstractItemViewは多くのprotected関数を提供しています。例えば、edit()やcommitData()のように編集に関係するものもあれば、キーボードやマウスのイベント・ハンドラもあります。

注意: QAbstractItemViewを継承し、ビューポートの内容を更新する場合は、update()の代わりにviewport->update()を使用してください。

ビュークラスモデル/ビュープログラミングQAbstractItemModelも参照してください

メンバ型のドキュメント

enum QAbstractItemView::CursorAction

この列挙型は、項目間をナビゲートするさまざまな方法を記述します、

定数説明
QAbstractItemView::MoveUp0現在の項目の上の項目に移動する。
QAbstractItemView::MoveDown1現在の項目の下の項目に移動する。
QAbstractItemView::MoveLeft2現在の項目の左の項目に移動する。
QAbstractItemView::MoveRight3現在の項目の右の項目に移動する。
QAbstractItemView::MoveHome4左上の項目に移動します。
QAbstractItemView::MoveEnd5右下の項目に移動する。
QAbstractItemView::MovePageUp6現在表示している項目の上に1ページ移動する。
QAbstractItemView::MovePageDown7現在の項目の下に1ページ移動する。
QAbstractItemView::MoveNext8現在の項目の後ろの項目に移動する。
QAbstractItemView::MovePrevious9現在の項目の前の項目に移動する。

moveCursor()も参照

enum QAbstractItemView::DragDropMode

ビューが操作できる様々なドラッグ&ドロップイベントについて説明します。デフォルトでは、ビューはドラッグやドロップをサポートしていません (NoDragDrop)。

定数説明
QAbstractItemView::NoDragDrop0ドラッグ&ドロップをサポートしません。
QAbstractItemView::DragOnly1ビューは自身のアイテムのドラッグをサポートします。
QAbstractItemView::DropOnly2ビューはドロップをサポートします。
QAbstractItemView::DragDrop3ビューはドラッグとドロップの両方をサポートします。
QAbstractItemView::InternalMove4ビューは、自分自身からの移動操作(コピーではない)のみを受け付けます。

使用するモデルは、ドラッグ&ドロップ操作をサポートする必要があることに注意してください。

setDragDropMode() とUsing drag and drop with item viewsも参照して ください。

enum QAbstractItemView::DropIndicatorPosition

この列挙型は、現在のマウス位置のインデックスに対するドロップインジケータの位置を示します:

定数説明
QAbstractItemView::OnItem0アイテムはインデックスの上にドロップされます。
QAbstractItemView::AboveItem1アイテムはインデックスの上にドロップされます。
QAbstractItemView::BelowItem2アイテムはインデックスの下にドロップされます。
QAbstractItemView::OnViewport3アイテムは、ビューポートのアイテムのない領域にドロップされます。各ビューがビューポートにドロップされたアイテムを処理する方法は、使用されている基本モデルの動作に依存します。

enum QAbstractItemView::EditTrigger
flags QAbstractItemView::EditTriggers

この列挙型は、アイテムの編集を開始するアクションを記述します。

定数説明
QAbstractItemView::NoEditTriggers0編集不可。
QAbstractItemView::CurrentChanged1現在の項目が変更されるたびに編集を開始する。
QAbstractItemView::DoubleClicked2項目をダブルクリックすると編集を開始します。
QAbstractItemView::SelectedClicked4既に選択されている項目をクリックすると編集を開始する。
QAbstractItemView::EditKeyPressed8項目の上でプラットフォーム編集キーを押すと編集を開始する。
QAbstractItemView::AnyKeyPressed16項目の上で任意のキーが押されたときに編集を開始する。
QAbstractItemView::AllEditTriggers31上記のすべてのアクションで編集を開始する。

EditTriggers型はQFlags<EditTrigger>の型定義です。EditTriggerの値のORの組み合わせを格納します。

enum QAbstractItemView::ScrollHint

定数説明
QAbstractItemView::EnsureVisible0アイテムが表示されるようにスクロールします。
QAbstractItemView::PositionAtTop1アイテムをビューポートの上部に配置するためにスクロールする。
QAbstractItemView::PositionAtBottom2ビューポートの下部にアイテムを配置するには、スクロールします。
QAbstractItemView::PositionAtCenter3ビューポートの中央にアイテムを配置するためにスクロールします。

enum QAbstractItemView::ScrollMode

スクロールバーの動作について説明します。スクロールモードをScrollPerPixelに設定すると、setSingleStep ()を使用して明示的に設定されていない限り、シングルステップサイズが自動的に調整されます。自動調整は、シングルステップサイズを -1 に設定することで元に戻すことができます。

定数説明
QAbstractItemView::ScrollPerItem0ビューは、一度に1つの項目をスクロールします。
QAbstractItemView::ScrollPerPixel1ビューは、コンテンツを1ピクセルずつスクロールします。

enum QAbstractItemView::SelectionBehavior

定数説明
QAbstractItemView::SelectItems0単一の項目を選択します。
QAbstractItemView::SelectRows1行のみ選択
QAbstractItemView::SelectColumns2列のみの選択

enum QAbstractItemView::SelectionMode

この列挙型は、ビューがユーザの選択にどのように応答するかを示します:

定数説明
QAbstractItemView::SingleSelection1ユーザーが項目を選択すると、既に選択されている項目は非選択になります。選択された項目をクリックする際に Ctrl キーを押すことで、選択された項目の選択を解除することができます。
QAbstractItemView::ContiguousSelection4通常の方法で項目を選択すると、選択状態は解除され、新しい項目が選択される。しかし、Shiftキーを押しながら項目をクリックすると、クリックした項目の状態に応じて、現在の項目とクリックした項目の間のすべての項目が選択または非選択になります。
QAbstractItemView::ExtendedSelection3ユーザーが通常の方法で項目を選択すると、選択状態はクリアされ、新しい項目が選択される。しかし、ユーザーが項目をクリックするときにCtrlキーを押すと、クリックされた項目がトグルされ、他の項目はそのままになります。Shiftキーを押しながら項目をクリックすると、クリックした項目の状態に応じて、現在の項目とクリックした項目の間のすべての項目が選択または非選択になります。マウスをドラッグすることにより、複数の項目を選択することができる。
QAbstractItemView::MultiSelection2ユーザーが通常の方法で項目を選択すると、その項目の選択状態が切り替わり、他の項目はそのままになります。マウスをドラッグすることで、複数の項目を切り替えることができる。
QAbstractItemView::NoSelection0項目を選択することはできない。

最もよく使われるモードは SingleSelection と ExtendedSelection です。

enum QAbstractItemView::State

ビューがどのような状態になるかを記述します。これは通常、独自のビューを再実装する場合にのみ興味深いものです。

定数説明
QAbstractItemView::NoState0デフォルトの状態です。
QAbstractItemView::DraggingState1ユーザが項目をドラッグしている。
QAbstractItemView::DragSelectingState2ユーザがアイテムを選択している。
QAbstractItemView::EditingState3ユーザがウィジェット・エディタでアイテムを編集している。
QAbstractItemView::ExpandingState4ユーザーがアイテムのブランチを開いている。
QAbstractItemView::CollapsingState5ユーザがアイテムのブランチを閉じている。
QAbstractItemView::AnimatingState6アイテムビューがアニメーションを実行している。

プロパティ説明

alternatingRowColors : bool

このプロパティは、背景を交互の色で描画するかどうかを保持します。

このプロパティがtrue の場合、アイテムの背景はQPalette::BaseQPalette::AlternateBase で描画され、QPalette::Base の場合、背景は で描画される。

デフォルトはfalse である。

アクセス関数:

bool alternatingRowColors() const
void setAlternatingRowColors(bool enable)

autoScroll : bool

このプロパティは、ドラッグ移動イベントでの自動スクロールが有効かどうかを保持します。

このプロパティがtrueに設定されている場合(デフォルト)、QAbstractItemView 、ユーザがビューポートの端から16ピクセル以内にドラッグすると、ビューの内容が自動的にスクロールされます。現在のアイテムが変更された場合、現在のアイテムが完全に表示されるように、ビューは自動的にスクロールします。

このプロパティは、ビューポートがドロップを受け入れる場合にのみ動作します。オートスクロールは、このプロパティをfalseに設定することでオフになります。

アクセス関数:

bool hasAutoScroll() const
void setAutoScroll(bool enable)

autoScrollMargin : int

このプロパティは、自動スクロールがトリガされたときの領域のサイズを保持します。

このプロパティは、自動スクロールをトリガするビューポートの端の領域のサイズを制御する。デフォルト値は16ピクセルです。

アクセス関数

int autoScrollMargin() const
void setAutoScrollMargin(int margin)

defaultDropAction : Qt::DropAction

このプロパティは、QAbstractItemView::drag() でデフォルトで使用されるドロップアクションを保持します。

このプロパティが設定されていない場合、サポートされているアクションがCopyActionをサポートしている場合、ドロップアクションはCopyActionになります。

アクセス関数:

Qt::DropAction defaultDropAction() const
void setDefaultDropAction(Qt::DropAction dropAction)

showDropIndicator およびdragDropOverwriteModeも参照してください

dragDropMode : DragDropMode

このプロパティは、ビューが動作するドラッグ&ドロップイベントを保持します。

アクセス関数:

QAbstractItemView::DragDropMode dragDropMode() const
void setDragDropMode(QAbstractItemView::DragDropMode behavior)

showDropIndicator およびdragDropOverwriteMode参照して ください。

dragDropOverwriteMode : bool

このプロパティは、ビューのドラッグ&ドロップ動作を保持します。

値がtrue の場合、選択されたデータはドロップされると既存の項目データを上書きし、データを移動すると項目はクリアされます。値がfalse の場合、選択されたデータはドロップされると新しい項目として挿入されます。データを移動すると、その項目も削除されます。

デフォルト値は、QListView およびQTreeView のサブクラスと同様、false です。一方、QTableView サブクラスでは、このプロパティはtrue に設定されています。

注:これは、項目の上書きを防止するためのものではありません。モデルの flags() の実装は、Qt::ItemIsDropEnabled を返さないことで、これを行う必要があります。

アクセス関数:

bool dragDropOverwriteMode() const
void setDragDropOverwriteMode(bool overwrite)

dragDropModeも参照してください

dragEnabled : bool

このプロパティは、ビューが自身のアイテムのドラッグをサポートするかどうかを保持します。

アクセス関数:

bool dragEnabled() const
void setDragEnabled(bool enable)

showDropIndicator,DragDropMode,dragDropOverwriteMode,acceptDropsも参照して ください。

editTriggers : EditTriggers

このプロパティは、アイテムの編集を開始するアクションを保持します。

このプロパティは、EditTrigger によって定義されたフラグの選択であり、OR 演算子を使用して結合されます。実行されたアクションがこのプロパティに設定されている場合にのみ、ビューはアイテムの編集を開始します。

アクセス関数:

QAbstractItemView::EditTriggers editTriggers() const
void setEditTriggers(QAbstractItemView::EditTriggers triggers)

horizontalScrollMode : ScrollMode

ビューがその内容を水平方向にスクロールする方法。

このプロパティは、ビューがそのコンテンツを水平方向にスクロールする方法を制御します。スクロールは、ピクセル単位またはアイテム単位で行うことができます。このプロパティのデフォルト値は、QStyle::SH_ItemView_ScrollMode スタイル ヒントによってスタイルから取得されます。

アクセス関数

QAbstractItemView::ScrollMode horizontalScrollMode() const
void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode)
void resetHorizontalScrollMode()

iconSize : QSize

このプロパティは、アイテムのアイコンのサイズを保持します。

ビューが表示されているときにこのプロパティを設定すると、アイテムが再度レイアウトされます。

アクセス関数

QSize iconSize() const
void setIconSize(const QSize &size)

通知シグナル

void iconSizeChanged(const QSize &size)

selectionBehavior : SelectionBehavior

このプロパティは、ビューがどの選択動作を使用するかを保持します。

このプロパティは、選択が単一アイテム、行、列のいずれで行われるかを保持します。

アクセス関数:

QAbstractItemView::SelectionBehavior selectionBehavior() const
void setSelectionBehavior(QAbstractItemView::SelectionBehavior behavior)

SelectionModeSelectionBehaviorも参照

selectionMode : SelectionMode

このプロパティは、ビューがどの選択モードで動作するかを保持します。

このプロパティは、ユーザが選択できる項目が1つであるか多数であるか、また、多数項目の選択では、選択項目が連続した範囲でなければならないかを制御します。

アクセス関数:

QAbstractItemView::SelectionMode selectionMode() const
void setSelectionMode(QAbstractItemView::SelectionMode mode)

SelectionMode およびSelectionBehaviorも参照してください

showDropIndicator : bool

このプロパティは、項目をドラッグしてドロップするときにドロップインジケータを表示するかどうかを保持します。

アクセス関数:

bool showDropIndicator() const
void setDropIndicatorShown(bool enable)

dragEnabledDragDropModedragDropOverwriteModeacceptDropsも参照

tabKeyNavigation : bool

このプロパティは、タブとバックタブによるアイテムナビゲーションを有効にするかどうかを保持します。

アクセス関数:

bool tabKeyNavigation() const
void setTabKeyNavigation(bool enable)

textElideMode : Qt::TextElideMode

このプロパティは、非表示テキストの "..." の位置を保持します。

すべてのアイテムビューのデフォルト値はQt::ElideRight です。

アクセス関数:

Qt::TextElideMode textElideMode() const
void setTextElideMode(Qt::TextElideMode mode)

verticalScrollMode : ScrollMode

ビューの垂直方向のスクロール方法

このプロパティは、ビューがそのコンテンツを垂直方向にスクロールする方法を制御します。スクロールはピクセル単位またはアイテム単位で行うことができます。このプロパティのデフォルト値は、QStyle::SH_ItemView_ScrollMode スタイル ヒントによってスタイルから取得されます。

関数にアクセスします:

QAbstractItemView::ScrollMode verticalScrollMode() const
void setVerticalScrollMode(QAbstractItemView::ScrollMode mode)
void resetVerticalScrollMode()

メンバ関数ドキュメント

[explicit] QAbstractItemView::QAbstractItemView(QWidget *parent = nullptr)

与えられたparent で抽象アイテムビューを構築します。

[virtual noexcept] QAbstractItemView::~QAbstractItemView()

ビューを破棄します。

[signal] void QAbstractItemView::activated(const QModelIndex &index)

このシグナルは、index で指定されたアイテムがユーザーによってアクティブ化されたときに発行されます。アイテムをアクティブにする方法は、プラットフォームによって異なります。例えば、アイテムをシングルクリックまたはダブルクリックするか、アイテムがカレントのときにリターンキーを押すかエンターキーを押します。

clicked()、doubleClicked()、entered()、pressed()も参照の こと。

[slot] void QAbstractItemView::clearSelection()

選択されているすべての項目の選択を解除する。現在のインデックスは変更されない。

setSelection() およびselectAll() も参照

[signal] void QAbstractItemView::clicked(const QModelIndex &index)

このシグナルは、マウス・ボタンが左クリックされたときに発せられます。マウスがクリックされた項目はindex で指定される。このシグナルは、インデックスが有効なときのみ発せられる。

activated()、doubleClicked()、entered()、pressed()も参照

[virtual protected slot] void QAbstractItemView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint)

指定されたeditor を閉じ、解放します。hint は、編集操作の終了時にビューがどのように応答すべきかを指定するために使用されます。例えば、ヒントは、編集のためにビューの次の項目を開くことを示すかもしれません。

edit() およびcommitData()も参照してください

void QAbstractItemView::closePersistentEditor(const QModelIndex &index)

指定されたindex の項目の永続エディタを閉じます。

openPersistentEditor() およびisPersistentEditorOpen() も参照して ください。

[virtual protected slot] void QAbstractItemView::commitData(QWidget *editor)

editor のデータをモデルにコミットします。

closeEditor() も参照して ください。

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

このスロットは、新しい項目が現在の項目になったときに呼び出されます。前のカレント項目はprevious インデックスで指定され、新しい項目はcurrent インデックスで指定されます。

アイテムの変更を知りたい場合は、dataChanged() シグナルを参照してください。

QModelIndex QAbstractItemView::currentIndex() const

現在の項目のモデル・インデックスを返します。

setCurrentIndex()も参照してください

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

このスロットは、与えられたroles を持つアイテムがモデル内で変更されたときに呼び出されます。変更された項目は、topLeft からbottomRight までの項目です。変更された項目が1つだけの場合、topLeft ==bottomRight

変更されたroles は、空のコンテナ(すべてが変更されたことを意味する)か、変更されたロールのサブセットを持つ空でないコンテナのいずれかになります。

注意 : Qt が提供するビューでは、Qt::ToolTipRole は dataChanged() に従いません。

[protected] QPoint QAbstractItemView::dirtyRegionOffset() const

ビュー内のダーティ領域のオフセットを返します。

scrollDirtyRegion() を使用し、QAbstractItemView のサブクラスでpaintEvent() を実装する場合は、paint イベントで指定された領域を、この関数から返されたオフセットで変換する必要があります。

scrollDirtyRegion() およびsetDirtyRegion()も参照してください

[signal] void QAbstractItemView::doubleClicked(const QModelIndex &index)

このシグナルは、マウスボタンがダブルクリックされたときに発せられます。マウスがダブルクリックされたアイテムはindex で指定される。このシグナルは、インデックスが有効なときのみ発せられる。

clicked() およびactivated()も参照

[override virtual protected] void QAbstractItemView::dragEnterEvent(QDragEnterEvent *event)

再インプリメント:QAbstractScrollArea::dragEnterEvent(QDragEnterEvent *event)。

この関数は、ドラッグ&ドロップ操作がウィジェットに入ると、与えられたevent で呼び出されます。ドラッグが有効なドロップ位置の上(例えば、ドロップを受け付けるアイテムの上)にある場合、イベントは受け付けられます。

dropEvent() およびstartDrag()も参照して ください。

[override virtual protected] void QAbstractItemView::dragLeaveEvent(QDragLeaveEvent *event)

再実装しています:QAbstractScrollArea::dragLeaveEvent(QDragLeaveEvent *event)。

この関数は、ドラッグされているアイテムがビューから離れるときに呼び出されます。event は、ドラッグ&ドロップ操作の状態を記述します。

[override virtual protected] void QAbstractItemView::dragMoveEvent(QDragMoveEvent *event)

再インプリメントです:QAbstractScrollArea::dragMoveEvent(QDragMoveEvent *event)。

この関数は、ウィジェット上でのドラッグ&ドロップ操作の間、与えられたevent で連続的に呼び出されます。例えば、ユーザがビューの右端または下端に選択範囲をドラッグした場合、ビューをスクロールさせることができます。この場合、イベントは受け付けられ、そうでない場合は無視されます。

dropEvent() およびstartDrag()も参照してください

[override virtual protected] void QAbstractItemView::dropEvent(QDropEvent *event)

再実装:QAbstractScrollArea::dropEvent(QDropEvent *event)。

この関数は、ウィジェット上でドロップイベントが発生すると、与えられたevent で呼び出されます。モデルが偶数位置を受け入れる場合、ドロップイベントは受け入れられます。

startDrag()も参照してください

[protected] QAbstractItemView::DropIndicatorPosition QAbstractItemView::dropIndicatorPosition() const

最も近いアイテムに対するドロップインジケータの位置を返します。

[slot] void QAbstractItemView::edit(const QModelIndex &index)

与えられたindex に対応するアイテムが編集可能であれば、編集を開始します。

この関数は現在のインデックスを変更しないことに注意してください。現在のインデックスが編集する次と前の項目を定義するので、ユーザーはキーボードナビゲーションが期待通りに動作しないことに気づくかもしれません。一貫したナビゲーション動作を提供するには、この関数の前に同じモデル・インデックスでsetCurrentIndex() を呼び出します。

QModelIndex::flags()も参照してください

[virtual protected] bool QAbstractItemView::edit(const QModelIndex &index, QAbstractItemView::EditTrigger trigger, QEvent *event)

index でアイテムの編集を開始し、必要に応じてエディタを作成します。ビューのStateEditingState になっている場合はtrue を返し、そうでない場合はfalse を返します。

編集処理の原因となったアクションはtrigger で記述され、関連するイベントはevent で指定されます。

編集はtriggerQAbstractItemView::AllEditTriggers に指定することで強制することができます。

closeEditor()も参照のこと

[virtual protected slot] void QAbstractItemView::editorDestroyed(QObject *editor)

この関数は、与えられたeditor が破棄されたときに呼び出される。

closeEditor()も参照

[signal] void QAbstractItemView::entered(const QModelIndex &index)

このシグナルは、index で指定された項目にマウスカーソルが入ったときに発せられます。この機能を使用するには、マウス・トラッキングを有効にする必要があります。

viewportEntered()、activated()、clicked()、doubleClicked()、pressed()も参照

[override virtual protected] bool QAbstractItemView::event(QEvent *event)

再実装:QAbstractScrollArea::event(QEvent *event)。

[override virtual protected] bool QAbstractItemView::eventFilter(QObject *object, QEvent *event)

再リンプルメント:QObject::eventFilter(QObject *watched, QEvent *event)。

[protected] void QAbstractItemView::executeDelayedItemsLayout()

イベント処理の開始を待たずに、スケジュールされたレイアウトを実行します。

scheduleDelayedItemsLayout()も参照

[override virtual protected] void QAbstractItemView::focusInEvent(QFocusEvent *event)

再インプリメント:QWidget::focusInEvent(QFocusEvent *event)。

この関数は、ウィジェットがフォーカスを取得したときに、与えられたevent で呼び出されます。デフォルトでは、イベントは無視されます。

setFocus() およびfocusOutEvent()も参照してください

[override virtual protected] bool QAbstractItemView::focusNextPrevChild(bool next)

再インプリメント:QWidget::focusNextPrevChild(bool next) を参照してください。

[override virtual protected] void QAbstractItemView::focusOutEvent(QFocusEvent *event)

再実装:QWidget::focusOutEvent(QFocusEvent *event)。

この関数は、ウィジェットがフォーカスを失ったときに、与えられたevent で呼び出されます。デフォルトでは、イベントは無視されます。

clearFocus() およびfocusInEvent()も参照してください

[pure virtual protected] int QAbstractItemView::horizontalOffset() const

ビューの水平オフセットを返します。

基底クラスでは、これは純粋な仮想関数です。

verticalOffset() も参照して ください。

[pure virtual] QModelIndex QAbstractItemView::indexAt(const QPoint &point) const

ビューポート座標point におけるアイテムのモデルインデックスを返します。

基底クラスでは、これは純粋な仮想関数です。

visualRect() も参照して ください。

QWidget *QAbstractItemView::indexWidget(const QModelIndex &index) const

指定されたindex におけるアイテムのウィジェットを返します。

setIndexWidget() も参照して ください。

[virtual protected, since 6.0] void QAbstractItemView::initViewItemOption(QStyleOptionViewItem *option) const

option 構造体を、ビューのパレット、フォント、状態、整列などで初期化します。

注意: このメソッドの実装は、受け取った構造体のversion をチェックし、実装が精通しているすべてのメンバに値を入れ、version メンバを実装がサポートするものに設定してから返す必要があります。

この関数は Qt 6.0 で導入されました。

[override virtual protected] void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)

この関数は Qt 6.0 で導入されました:QWidget::inputMethodEvent(QInputMethodEvent *event)。

[override virtual] QVariant QAbstractItemView::inputMethodQuery(Qt::InputMethodQuery query) const

再実装:QWidget::inputMethodQuery(Qt::InputMethodQuery query) const.

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

与えられたindex によって参照されるアイテムがビューで非表示になっている場合はtrue を返し、そうでない場合はfalse を返します。

非表示はビュー固有の機能です。例えば、TableView では列を、TreeView では行を非表示にすることができます。

ベース・クラスでは、これは純粋な仮想関数です。

bool QAbstractItemView::isPersistentEditorOpen(const QModelIndex &index) const

インデックスindex の項目に対して永続エディタが開いているかどうかを返します。

openPersistentEditor() およびclosePersistentEditor()も参照してください

QAbstractItemDelegate *QAbstractItemView::itemDelegate() const

このビューとモデルで使用されるアイテム・デリゲートを返します。これは、setItemDelegate() で設定されたものか、デフォルトのものです。

setItemDelegate() も参照 ください。

QAbstractItemDelegate *QAbstractItemView::itemDelegateForColumn(int column) const

指定されたcolumn に対して、このビューとモデルが使用する項目デリゲートを返します。itemDelegate() を呼び出すと、指定したインデックスの現在のデリゲートへのポインタを取得できます。

setItemDelegateForColumn()、itemDelegateForRow()、itemDelegate()も参照して ください。

[virtual, since 6.0] QAbstractItemDelegate *QAbstractItemView::itemDelegateForIndex(const QModelIndex &index) const

与えられたindex に対して、このビューとモデルで使用されているアイテムデリゲートを返します。

この関数は Qt 6.0 で導入されました。

setItemDelegate()、setItemDelegateForRow()、setItemDelegateForColumn()も参照してください

QAbstractItemDelegate *QAbstractItemView::itemDelegateForRow(int row) const

指定されたrow 、またはデリゲートが割り当てられていない場合はnullptr に対して、このビューとモデルで使用されているアイテムデリゲートを返します。itemDelegate() を呼び出すと、指定されたインデックスの現在のデリゲートへのポインタを取得できます。

setItemDelegateForRow(),itemDelegateForColumn(),setItemDelegate()も参照してください

[override virtual protected] void QAbstractItemView::keyPressEvent(QKeyEvent *event)

再インプリメント:QAbstractScrollArea::keyPressEvent(QKeyEvent *e)。

この関数は、キーイベントがウィジェットに送信されると、与えられたevent で呼び出されます。デフォルトの実装では、基本的なカーソル移動(Up、Down、Left、Right、Home、PageUp、PageDownなど)を処理します。現在のインデックスが有効で、起動キーが押された場合(プラットフォームによって、EnterやReturnなど)、activated ()シグナルが発行されます。この関数は、F2キーが押された場合など、キー押下によって編集が開始される場合に使用します。

edit()、moveCursor()、keyboardSearch()、tabKeyNavigationも参照のこと

[virtual] void QAbstractItemView::keyboardSearch(const QString &search)

文字列search に最も一致する項目に移動し、選択する。項目が見つからない場合は何も起こらない。

デフォルトの実装では、search が空であるか、最後の検索からの時間間隔がQApplication::keyboardInputInterval() を超えると、検索はリセットされます。

QAbstractItemModel *QAbstractItemView::model() const

このビューが表示しているモデルを返します。

setModel()も参照してください

[override virtual protected] void QAbstractItemView::mouseDoubleClickEvent(QMouseEvent *event)

再実装:QAbstractScrollArea::mouseDoubleClickEvent(QMouseEvent *e)。

この関数は、ウィジェット内でマウスボタンがダブルクリックされると、与えられたevent で呼び出されます。ダブルクリックが有効なアイテム上で行われた場合、doubleClicked() シグナルを発し、そのアイテム上でedit() を呼び出します。

[override virtual protected] void QAbstractItemView::mouseMoveEvent(QMouseEvent *event)

再実装:QAbstractScrollArea::mouseMoveEvent(QMouseEvent *e)。

この関数は、マウス移動イベントがウィジェットに送られると、与えられたevent で呼び出されます。選択中で、新しいアイテムが移動された場合、選択範囲は拡張されます。

[override virtual protected] void QAbstractItemView::mousePressEvent(QMouseEvent *event)

再実装:QAbstractScrollArea::mousePressEvent(QMouseEvent *e)。

この関数は、カーソルがウィジェット内にあるときにマウスボタンが押されると、与えられたevent で呼び出されます。有効なアイテムが押された場合、それは現在のアイテムになります。この関数はpressed() シグナルを発する。

[override virtual protected] void QAbstractItemView::mouseReleaseEvent(QMouseEvent *event)

再実装:QAbstractScrollArea::mouseReleaseEvent(QMouseEvent *e)。

この関数は、ウィジェット上でマウスが押されたイベントの後、マウスボタンが離されると、与えられたevent で呼び出されます。ユーザがウィジェット内でマウスを押した後、マウスボタンを離す前にマウスを別の場所にドラッグすると、ウィジェットはリリースイベントを受信します。アイテムが押された場合、この関数はclicked() シグナルを送出します。

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

与えられたcursorActionmodifiers で指定されたキーボード修飾子に基づいて、ビュー内の次のオブジェクトを指すQModelIndex オブジェクトを返します。

ベース・クラスでは、これは純粋な仮想関数です。

void QAbstractItemView::openPersistentEditor(const QModelIndex &index)

与えられたindex にあるアイテムの永続エディタを開きます。エディタが存在しない場合、デリゲートは新しいエディタを作成します。

closePersistentEditor() およびisPersistentEditorOpen()も参照してください

[signal] void QAbstractItemView::pressed(const QModelIndex &index)

このシグナルは、マウスボタンが押されたときに発せられます。マウスが押されたアイテムはindex で指定されます。このシグナルはインデックスが有効な場合にのみ発せられます。

マウス・ボタンの状態を取得するには、QGuiApplication::mouseButtons() 関数を使用します。

activated(),clicked(),doubleClicked(),entered()も参照

[virtual slot] void QAbstractItemView::reset()

ビューの内部状態をリセットします。

警告 この関数は、開いているエディタ、スクロールバーの位置、選択範囲などをリセットします。既存の変更はコミットされません。ビューをリセットする際に変更を保存したい場合は、この関数を再実装し、変更をコミットしてからスーパークラスの実装を呼び出します。

[override virtual protected] void QAbstractItemView::resizeEvent(QResizeEvent *event)

再実装します:QAbstractScrollArea::resizeEvent(QResizeEvent *event)。

この関数は、リサイズイベントがウィジェットに送信されると、指定されたevent で呼び出されます。

QWidget::resizeEvent()も参照してください

QModelIndex QAbstractItemView::rootIndex() const

モデルのルートアイテムのモデルインデックスを返します。ルートアイテムは、ビューのトップレベルアイテムの親アイテムです。ルートは無効でも構いません。

setRootIndex()も参照してください

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

このスロットは、行が削除される時に呼び出されます。削除される行は、指定されたparent 以下のstart からend までの行です。

rowsInserted()参照のこと。

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

このスロットは、行が挿入されるときに呼ばれる。新しい行は、parent で指定されたstart からend までの行です。基底クラスの実装は、モデル上で fetchMore() を呼び出し、より多くのデータをチェックします。

rowsAboutToBeRemoved()も参照してください

[protected] void QAbstractItemView::scheduleDelayedItemsLayout()

イベント処理の開始時に実行されるように、ビュー内のアイテムのレイアウトをスケジュールします。

イベントが処理される前に scheduleDelayedItemsLayout() が複数回呼び出されたとしても、ビューがレイアウトを行うのは一度だけです。

executeDelayedItemsLayout()も参照してください

[protected] void QAbstractItemView::scrollDirtyRegion(int dx, int dy)

(dx,dy) ピクセルのスクロールに備え、ダーティ領域を逆方向に移動します。この関数を呼び出す必要があるのは、ビューのサブクラスでスクロールビューポートを実装している場合だけです。

QAbstractItemView のサブクラスでscrollContentsBy() を実装する場合は、ビューポートでQWidget::scroll() を呼び出す前にこの関数を呼び出します。あるいは、update() を呼び出すこともできます。

scrollContentsBy ()、dirtyRegionOffset ()、setDirtyRegion)も参照

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

必要に応じてビューをスクロールし、index のアイテムが表示されるようにします。ビューは、指定されたhint に従ってアイテムの配置を試みます。

基底クラスでは、これは純粋な仮想関数です。

[slot] void QAbstractItemView::scrollToBottom()

ビューを一番下までスクロールします。

scrollTo() およびscrollToTop()も参照して ください。

[slot] void QAbstractItemView::scrollToTop()

ビューを上方向にスクロールします。

scrollTo() およびscrollToBottom() も参照して ください。

[virtual slot] void QAbstractItemView::selectAll()

ビュー内のすべての項目を選択します。この関数は、選択時にビューに設定されている選択動作を使用します。

setSelection()、selectedIndexes()、clearSelection() も参照して ください。

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

この便利な関数は、ビュー内で選択された、非表示の項目インデックスのリストを返します。リストは重複を含まず、ソートされません。

QItemSelectionModel::selectedIndexes()も参照

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

このスロットは、選択が変更されたときに呼び出されます。前の選択項目(空でもよい)はdeselected で指定され、 新しい選択項目はselected で指定されます。

setSelection()も参照のこと

[virtual protected] QItemSelectionModel::SelectionFlags QAbstractItemView::selectionCommand(const QModelIndex &index, const QEvent *event = nullptr) const

指定されたindex の選択モデルを更新するときに使用する SelectionFlags を返します。結果は、現在のselectionMode() と、event のユーザー入力イベントnullptr に依存します。

独自の選択動作を定義するには、この関数を再実装してください。

setSelection()も参照してください

QItemSelectionModel *QAbstractItemView::selectionModel() const

現在の選択モデルを返します。

setSelectionModel() およびselectedIndexes() も参照して ください。

[slot] void QAbstractItemView::setCurrentIndex(const QModelIndex &index)

現在の項目をindex の項目に設定します。

現在の選択モードがNoSelection でない限り、この項目も選択されます。この関数は、ユーザが行う新しい選択の開始位置も更新することに注意。

項目を選択せずにカレント項目に設定するには

selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);

currentIndex()、currentChanged()、selectionModeも参照

[protected] void QAbstractItemView::setDirtyRegion(const QRegion &region)

与えられたregion をダーティとしてマークし、更新するようにスケジュールする。この関数を呼び出す必要があるのは、独自のビュー・サブクラスを実装する場合だけです。

scrollDirtyRegion() およびdirtyRegionOffset()も参照してください

void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget)

与えられたindex のアイテムに与えられたwidget を設定し、ウィジェットの所有権をビューポートに渡します。

index が無効な場合(ルートインデックスを渡した場合など)、この関数は何もしません。

指定されたwidgetautoFillBackground プロパティは、true に設定されなければなりません。そうでなければ、ウィジェットの背景は透明になり、モデルデータと指定されたindex のアイテムの両方が表示されます。

widgetつまり、インデックス・ウィジェット A がインデックス・ウィジェット B に置き換えられると、インデックス・ウィジェット A は削除されます。例えば、以下のコード・スニペットでは、QLineEdit オブジェクトが削除されます。

setIndexWidget(index, new QLineEdit);
...
setIndexWidget(index, new QTextEdit);

この関数は、データ項目に対応する可視領域内に静的コンテンツを表示する場合にのみ使用します。カスタムの動的コンテンツを表示したり、カスタムのエディタ・ウィジェットを実装したい場合は、代わりにQStyledItemDelegate をサブクラスにしてください。

indexWidget() およびDelegate Classesも参照してください

void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)

このビューとそのモデルのアイテムデリゲートをdelegate に設定します。 アイテムの編集と表示を完全に制御したい場合に便利です。

QAbstractItemViewdelegate の所有権を持ちません。

警告 ビュー間でデリゲートの同じインスタンスを共有しないでください。なぜなら、与えられたデリゲートに接続されている各ビューがcloseEditor() シグナルを受信し、既に閉じられているエディタにアクセス、変更、または閉じようとする可能性があるからです。

itemDelegate()も参照してください

void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)

このビューとモデルによって使用される与えられたアイテムdelegate を、与えられたcolumn に対して設定します。column 上のすべてのアイテムは、デフォルトのデリゲート(すなわち、itemDelegate())を使用する代わりに、delegate によって描画および管理されます。

column に対する既存の列デリゲートは削除されますが、削除はされません。QAbstractItemViewdelegate の所有権を持ちません。

注意 : 行と列の両方にデリゲートが割り当てられている場合、行のデリゲートが優先され、交差するセルのインデックスが管理されます。

警告: ビュー間でデリゲートの同じインスタンスを共有すべきではありません。なぜなら、与えられたデリゲートに接続されている各ビューがcloseEditor() シグナルを受信し、既に閉じられているエディタにアクセス、変更、または閉じようとする可能性があるからです。

itemDelegateForColumn(),setItemDelegateForRow(),itemDelegate()も参照してください

void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)

このビューとモデルで使用される指定されたアイテムdelegate を、指定されたrow に対して設定します。row 上のすべての項目は、デフォルトのデリゲート(すなわち、itemDelegate())を使用する代わりに、delegate によって描画および管理されます。

row に対する既存の行デリゲートは削除されますが、削除はされません。QAbstractItemViewdelegate の所有権を持ちません。

注意 : 行と列の両方にデリゲートが割り当てられている場合、行のデリゲート(つまり、このデリゲート)が優先され、交差するセルのインデックスを管理します。

警告: ビュー間でデリゲートの同じインスタンスを共有すべきではありません。なぜなら、与えられたデリゲートに接続された各ビューがcloseEditor() シグナルを受信し、すでに閉じられているエディタにアクセスしたり、変更したり、閉じようとしたりする可能性があるからです。

itemDelegateForRow(),setItemDelegateForColumn(),itemDelegate()も参照してください

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

表示するビューのmodel を設定します。

この関数は、setSelectionModel() で設定されたモデルを置き換える新しい選択モデルを作成し、設定します。ただし、古い選択モデルは複数のビューで共有されている可能性があるため、削除されることはありません。古い選択モデルが不要になった場合は、削除することをお勧めします。これは以下のコードで行います:

QItemSelectionModel *m = view->selectionModel();
view->setModel(new model);
delete m;

古いモデルと古い選択モデルの両方に親がない場合、あるいは親が長寿命のオブジェクトである場合、それらのdeleteLater ()関数を呼び出して明示的に削除することが望ましいでしょう。

ビューは、モデルの親オブジェクトでない限り、モデルの所有権を持ちません。なぜなら、モデルは多くの異なるビュー間で共有される可能性があるからです。

model(),selectionModel(),setSelectionModel()も参照してください

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

ルート項目を、指定されたindex の項目に設定します。

rootIndex() も参照して ください。

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

rect矩形の中にあるアイテム、または矩形によってタッチされたアイテムに、選択flags を適用します。

独自のアイテムビューを実装する場合、setSelection はselectionModel()->select(selection, flags) を呼び出す必要があります。selection は空のQModelIndex か、rect に含まれるすべてのアイテムを含むQItemSelection のいずれかです。

selectionCommand() およびselectedIndexes()も参照

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

現在の選択モデルを、与えられたselectionModel に設定します。

この関数の後にsetModel() を呼び出すと、与えられたselectionModel はビューによって作成されたものに置き換えられることに注意してください。

注意: 古い選択モデルが不要になった場合、つまり他のビューで使用されなくなった場合、古い選択モデルを削除するかどうかはアプリケーション次第です。これは、親オブジェクトが削除されたときに自動的に行われます。しかし、親オブジェクトがない場合や、親オブジェクトが長寿命オブジェクトである場合は、deleteLater ()関数を呼び出して明示的に削除する方が望ましいかもしれません。

selectionModel(),setModel(),clearSelection()も参照

[protected] void QAbstractItemView::setState(QAbstractItemView::State state)

アイテムビューの状態を指定されたstate に設定します。

state() も参照

[virtual] int QAbstractItemView::sizeHintForColumn(int column) const

指定されたcolumn の幅サイズのヒントを返すか、モデルがない場合は -1 を返します。

この関数は、水平ヘッダを持つビューで、与えられたcolumn の内容からヘッダセクションのサイズヒントを見つけるために使用されます。

sizeHintForRow()も参照

QSize QAbstractItemView::sizeHintForIndex(const QModelIndex &index) const

指定されたindex の項目のサイズヒントを返すか、無効なインデックスの場合は無効なサイズを返します。

sizeHintForRow() およびsizeHintForColumn() も参照

[virtual] int QAbstractItemView::sizeHintForRow(int row) const

指定されたrow の高さのサイズヒント、またはモデルがない場合は -1 を返します。

返される高さは、指定されたrow の項目のサイズヒントを使用して計算されます。行の高さを制御するには、QAbstractItemDelegate::sizeHint() 関数を再実装する必要があることに注意してください。

この関数は、垂直ヘッダを持つビューで使用され、与えられたrow の内容に基づいてヘッダセクションのサイズヒントを見つけます。

sizeHintForColumn()も参照してください

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

与えられたsupportedActions を使用して drag->exec() を呼び出すことで、ドラッグを開始します。

[protected] QAbstractItemView::State QAbstractItemView::state() const

アイテムビューの状態を返します。

setState()も参照 ください。

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

再実装:QObject::timerEvent(QTimerEvent *event)。

この関数は、タイマーイベントがウィジェットに送信されると、与えられたevent で呼び出されます。

QObject::timerEvent()も参照してください

[slot] void QAbstractItemView::update(const QModelIndex &index)

与えられたindex が占める領域を更新します。

[virtual protected slot] void QAbstractItemView::updateGeometries()

ビューの子ウィジェットのジオメトリを更新します。

[pure virtual protected] int QAbstractItemView::verticalOffset() const

ビューの垂直オフセットを返します。

基底クラスでは、これは純粋な仮想関数です。

horizontalOffset()も参照してください

[signal] void QAbstractItemView::viewportEntered()

このシグナルは、マウスカーソルがビューポートに入った時に発せられます。この機能を動作させるには、マウストラッキングを有効にする必要があります。

entered() も参照

[override virtual protected] bool QAbstractItemView::viewportEvent(QEvent *event)

再実装:QAbstractScrollArea::viewportEvent(QEvent *event)。

この関数は、与えられたeventQEvent::ToolTip 、またはQEvent::WhatsThis である場合に、ツールチップ、および What's This? モードを処理するために使用されます。 この関数は、他のすべてのイベントをベースクラスの viewportEvent() ハンドラに渡します。

event が認識され処理された場合はtrue を返し、そうでない場合はfalse を返します。

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

を返します:QAbstractScrollArea::viewportSizeHint() const.

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

index のアイテムが占めるビューポート上の矩形を返します。

アイテムが複数の領域に表示される場合、visualRectはインデックスを含む主要な領域を返すべきであり、インデックスが包含したり、触れたり、描画を引き起こす可能性のある領域全体を返すべきではありません。

基底クラスでは、これは純粋な仮想関数です。

indexAt() およびvisualRegionForSelection()も参照してください

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

与えられたselection 内のアイテムのビューポートからの領域を返します。

基底クラスでは、これは純粋仮想関数です。

visualRect() およびselectedIndexes() も参照して ください。

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