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 ®ion) |
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 ¤t, 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()のように編集に関係するものもあれば、キーボードやマウスのイベント・ハンドラもあります。
ビュークラス、モデル/ビュープログラミング、QAbstractItemModelも参照してください 。
メンバ型のドキュメント
enum QAbstractItemView::CursorAction
この列挙型は、項目間をナビゲートするさまざまな方法を記述します、
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::MoveUp | 0 | 現在の項目の上の項目に移動する。 |
QAbstractItemView::MoveDown | 1 | 現在の項目の下の項目に移動する。 |
QAbstractItemView::MoveLeft | 2 | 現在の項目の左の項目に移動する。 |
QAbstractItemView::MoveRight | 3 | 現在の項目の右の項目に移動する。 |
QAbstractItemView::MoveHome | 4 | 左上の項目に移動します。 |
QAbstractItemView::MoveEnd | 5 | 右下の項目に移動する。 |
QAbstractItemView::MovePageUp | 6 | 現在表示している項目の上に1ページ移動する。 |
QAbstractItemView::MovePageDown | 7 | 現在の項目の下に1ページ移動する。 |
QAbstractItemView::MoveNext | 8 | 現在の項目の後ろの項目に移動する。 |
QAbstractItemView::MovePrevious | 9 | 現在の項目の前の項目に移動する。 |
moveCursor()も参照 。
enum QAbstractItemView::DragDropMode
ビューが操作できる様々なドラッグ&ドロップイベントについて説明します。デフォルトでは、ビューはドラッグやドロップをサポートしていません (NoDragDrop
)。
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::NoDragDrop | 0 | ドラッグ&ドロップをサポートしません。 |
QAbstractItemView::DragOnly | 1 | ビューは自身のアイテムのドラッグをサポートします。 |
QAbstractItemView::DropOnly | 2 | ビューはドロップをサポートします。 |
QAbstractItemView::DragDrop | 3 | ビューはドラッグとドロップの両方をサポートします。 |
QAbstractItemView::InternalMove | 4 | ビューは、自分自身からの移動操作(コピーではない)のみを受け付けます。 |
使用するモデルは、ドラッグ&ドロップ操作をサポートする必要があることに注意してください。
setDragDropMode() とUsing drag and drop with item viewsも参照して ください。
enum QAbstractItemView::DropIndicatorPosition
この列挙型は、現在のマウス位置のインデックスに対するドロップインジケータの位置を示します:
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::OnItem | 0 | アイテムはインデックスの上にドロップされます。 |
QAbstractItemView::AboveItem | 1 | アイテムはインデックスの上にドロップされます。 |
QAbstractItemView::BelowItem | 2 | アイテムはインデックスの下にドロップされます。 |
QAbstractItemView::OnViewport | 3 | アイテムは、ビューポートのアイテムのない領域にドロップされます。各ビューがビューポートにドロップされたアイテムを処理する方法は、使用されている基本モデルの動作に依存します。 |
enum QAbstractItemView::EditTrigger
flags QAbstractItemView::EditTriggers
この列挙型は、アイテムの編集を開始するアクションを記述します。
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::NoEditTriggers | 0 | 編集不可。 |
QAbstractItemView::CurrentChanged | 1 | 現在の項目が変更されるたびに編集を開始する。 |
QAbstractItemView::DoubleClicked | 2 | 項目をダブルクリックすると編集を開始します。 |
QAbstractItemView::SelectedClicked | 4 | 既に選択されている項目をクリックすると編集を開始する。 |
QAbstractItemView::EditKeyPressed | 8 | 項目の上でプラットフォーム編集キーを押すと編集を開始する。 |
QAbstractItemView::AnyKeyPressed | 16 | 項目の上で任意のキーが押されたときに編集を開始する。 |
QAbstractItemView::AllEditTriggers | 31 | 上記のすべてのアクションで編集を開始する。 |
EditTriggers型はQFlags<EditTrigger>の型定義です。EditTriggerの値のORの組み合わせを格納します。
enum QAbstractItemView::ScrollHint
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::EnsureVisible | 0 | アイテムが表示されるようにスクロールします。 |
QAbstractItemView::PositionAtTop | 1 | アイテムをビューポートの上部に配置するためにスクロールする。 |
QAbstractItemView::PositionAtBottom | 2 | ビューポートの下部にアイテムを配置するには、スクロールします。 |
QAbstractItemView::PositionAtCenter | 3 | ビューポートの中央にアイテムを配置するためにスクロールします。 |
enum QAbstractItemView::ScrollMode
スクロールバーの動作について説明します。スクロールモードをScrollPerPixelに設定すると、setSingleStep ()を使用して明示的に設定されていない限り、シングルステップサイズが自動的に調整されます。自動調整は、シングルステップサイズを -1 に設定することで元に戻すことができます。
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::ScrollPerItem | 0 | ビューは、一度に1つの項目をスクロールします。 |
QAbstractItemView::ScrollPerPixel | 1 | ビューは、コンテンツを1ピクセルずつスクロールします。 |
enum QAbstractItemView::SelectionBehavior
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::SelectItems | 0 | 単一の項目を選択します。 |
QAbstractItemView::SelectRows | 1 | 行のみ選択 |
QAbstractItemView::SelectColumns | 2 | 列のみの選択 |
enum QAbstractItemView::SelectionMode
この列挙型は、ビューがユーザの選択にどのように応答するかを示します:
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::SingleSelection | 1 | ユーザーが項目を選択すると、既に選択されている項目は非選択になります。選択された項目をクリックする際に Ctrl キーを押すことで、選択された項目の選択を解除することができます。 |
QAbstractItemView::ContiguousSelection | 4 | 通常の方法で項目を選択すると、選択状態は解除され、新しい項目が選択される。しかし、Shiftキーを押しながら項目をクリックすると、クリックした項目の状態に応じて、現在の項目とクリックした項目の間のすべての項目が選択または非選択になります。 |
QAbstractItemView::ExtendedSelection | 3 | ユーザーが通常の方法で項目を選択すると、選択状態はクリアされ、新しい項目が選択される。しかし、ユーザーが項目をクリックするときにCtrlキーを押すと、クリックされた項目がトグルされ、他の項目はそのままになります。Shiftキーを押しながら項目をクリックすると、クリックした項目の状態に応じて、現在の項目とクリックした項目の間のすべての項目が選択または非選択になります。マウスをドラッグすることにより、複数の項目を選択することができる。 |
QAbstractItemView::MultiSelection | 2 | ユーザーが通常の方法で項目を選択すると、その項目の選択状態が切り替わり、他の項目はそのままになります。マウスをドラッグすることで、複数の項目を切り替えることができる。 |
QAbstractItemView::NoSelection | 0 | 項目を選択することはできない。 |
最もよく使われるモードは SingleSelection と ExtendedSelection です。
enum QAbstractItemView::State
ビューがどのような状態になるかを記述します。これは通常、独自のビューを再実装する場合にのみ興味深いものです。
定数 | 値 | 説明 |
---|---|---|
QAbstractItemView::NoState | 0 | デフォルトの状態です。 |
QAbstractItemView::DraggingState | 1 | ユーザが項目をドラッグしている。 |
QAbstractItemView::DragSelectingState | 2 | ユーザがアイテムを選択している。 |
QAbstractItemView::EditingState | 3 | ユーザがウィジェット・エディタでアイテムを編集している。 |
QAbstractItemView::ExpandingState | 4 | ユーザーがアイテムのブランチを開いている。 |
QAbstractItemView::CollapsingState | 5 | ユーザがアイテムのブランチを閉じている。 |
QAbstractItemView::AnimatingState | 6 | アイテムビューがアニメーションを実行している。 |
プロパティ説明
alternatingRowColors : bool
このプロパティは、背景を交互の色で描画するかどうかを保持します。
このプロパティがtrue
の場合、アイテムの背景はQPalette::Base とQPalette::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) |
SelectionMode とSelectionBehaviorも参照 。
selectionMode : SelectionMode
このプロパティは、ビューがどの選択モードで動作するかを保持します。
このプロパティは、ユーザが選択できる項目が1つであるか多数であるか、また、多数項目の選択では、選択項目が連続した範囲でなければならないかを制御します。
アクセス関数:
QAbstractItemView::SelectionMode | selectionMode() const |
void | setSelectionMode(QAbstractItemView::SelectionMode mode) |
SelectionMode およびSelectionBehaviorも参照してください 。
showDropIndicator : bool
このプロパティは、項目をドラッグしてドロップするときにドロップインジケータを表示するかどうかを保持します。
アクセス関数:
bool | showDropIndicator() const |
void | setDropIndicatorShown(bool enable) |
dragEnabled 、DragDropMode 、dragDropOverwriteMode 、acceptDropsも参照 。
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 ¤t, 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 で指定される。このシグナルは、インデックスが有効なときのみ発せられる。
[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 でアイテムの編集を開始し、必要に応じてエディタを作成します。ビューのState がEditingState になっている場合はtrue
を返し、そうでない場合はfalse
を返します。
編集処理の原因となったアクションはtrigger で記述され、関連するイベントはevent で指定されます。
編集はtrigger をQAbstractItemView::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)
与えられたcursorAction とmodifiers で指定されたキーボード修飾子に基づいて、ビュー内の次のオブジェクトを指す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 ®ion)
与えられたregion をダーティとしてマークし、更新するようにスケジュールする。この関数を呼び出す必要があるのは、独自のビュー・サブクラスを実装する場合だけです。
scrollDirtyRegion() およびdirtyRegionOffset()も参照してください 。
void QAbstractItemView::setIndexWidget(const QModelIndex &index, QWidget *widget)
与えられたindex のアイテムに与えられたwidget を設定し、ウィジェットの所有権をビューポートに渡します。
index が無効な場合(ルートインデックスを渡した場合など)、この関数は何もしません。
指定されたwidget のautoFillBackground プロパティは、true に設定されなければなりません。そうでなければ、ウィジェットの背景は透明になり、モデルデータと指定されたindex のアイテムの両方が表示されます。
widgetつまり、インデックス・ウィジェット A がインデックス・ウィジェット B に置き換えられると、インデックス・ウィジェット A は削除されます。例えば、以下のコード・スニペットでは、QLineEdit オブジェクトが削除されます。
この関数は、データ項目に対応する可視領域内に静的コンテンツを表示する場合にのみ使用します。カスタムの動的コンテンツを表示したり、カスタムのエディタ・ウィジェットを実装したい場合は、代わりにQStyledItemDelegate をサブクラスにしてください。
indexWidget() およびDelegate Classesも参照してください 。
void QAbstractItemView::setItemDelegate(QAbstractItemDelegate *delegate)
このビューとそのモデルのアイテムデリゲートをdelegate に設定します。 アイテムの編集と表示を完全に制御したい場合に便利です。
QAbstractItemView はdelegate の所有権を持ちません。
警告 ビュー間でデリゲートの同じインスタンスを共有しないでください。なぜなら、与えられたデリゲートに接続されている各ビューがcloseEditor() シグナルを受信し、既に閉じられているエディタにアクセス、変更、または閉じようとする可能性があるからです。
itemDelegate()も参照してください 。
void QAbstractItemView::setItemDelegateForColumn(int column, QAbstractItemDelegate *delegate)
このビューとモデルによって使用される与えられたアイテムdelegate を、与えられたcolumn に対して設定します。column 上のすべてのアイテムは、デフォルトのデリゲート(すなわち、itemDelegate())を使用する代わりに、delegate によって描画および管理されます。
column に対する既存の列デリゲートは削除されますが、削除はされません。QAbstractItemView はdelegate の所有権を持ちません。
注意 : 行と列の両方にデリゲートが割り当てられている場合、行のデリゲートが優先され、交差するセルのインデックスが管理されます。
警告: ビュー間でデリゲートの同じインスタンスを共有すべきではありません。なぜなら、与えられたデリゲートに接続されている各ビューがcloseEditor() シグナルを受信し、既に閉じられているエディタにアクセス、変更、または閉じようとする可能性があるからです。
itemDelegateForColumn(),setItemDelegateForRow(),itemDelegate()も参照してください 。
void QAbstractItemView::setItemDelegateForRow(int row, QAbstractItemDelegate *delegate)
このビューとモデルで使用される指定されたアイテムdelegate を、指定されたrow に対して設定します。row 上のすべての項目は、デフォルトのデリゲート(すなわち、itemDelegate())を使用する代わりに、delegate によって描画および管理されます。
row に対する既存の行デリゲートは削除されますが、削除はされません。QAbstractItemView はdelegate の所有権を持ちません。
注意 : 行と列の両方にデリゲートが割り当てられている場合、行のデリゲート(つまり、このデリゲート)が優先され、交差するセルのインデックスを管理します。
警告: ビュー間でデリゲートの同じインスタンスを共有すべきではありません。なぜなら、与えられたデリゲートに接続された各ビューが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)。
この関数は、与えられたevent がQEvent::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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。