QAbstractItemView Class
QAbstractItemViewクラスは、アイテムビュークラスの基本機能を提供します。詳細...
ヘッダー | #include <QAbstractItemView> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
を継承する: | QAbstractScrollArea |
によって継承される: |
パブリック型
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>のtypedefです。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 で指定されたアイテムがユーザーによってアクティブにされたときに発せられる。アイテムをアクティブにする方法は、プラットフォームに依存する。例えば、アイテムをシングルクリックまたはダブルクリックするか、アイテムが現在表示されているときにReturnキーまたはEnterキーを押す。
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::ToolTipRole は、Qt が提供するビューの 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 をチェックし、実装が精通しているすべてのメンバに値を入れ、バージョンメンバを実装がサポートしているものに設定してから返す必要があります。
この関数は Qt 6.0 で導入されました。
[override virtual protected]
void QAbstractItemView::inputMethodEvent(QInputMethodEvent *event)
再実装: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 などの基本的なカーソル移動を処理します。現在のインデックスが有効で、起動キーが押された場合、activated() シグナルが発行されます(プラットフォームによって、Enter や Return など)。この関数は、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)
このスロットは、行が削除される時に呼ばれる。削除される行は、start からend までのparent 以下の行です。
rowsInserted()も参照のこと 。
[virtual protected slot]
void QAbstractItemView::rowsInserted(const QModelIndex &parent, int start, int end)
このスロットは、行が挿入されるときに呼び出される。新しい行は、start からend を含む、指定されたparent 以下の行です。基底クラスの実装は、モデル上で 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)
選択flags を、矩形rect に含まれるアイテム、または矩形 によってタッチされるアイテムに適用します。
独自のアイテムビューを実装する場合、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 は index を含む主要な領域を返すべきで、index が包含したり、触れたり、描画を引き起こす可能性のある領域全体を返すべきではありません。
基底クラスでは、これは純粋な仮想関数です。
indexAt() およびvisualRegionForSelection()も参照してください 。
[pure virtual protected]
QRegion QAbstractItemView::visualRegionForSelection(const QItemSelection &selection) const
与えられたselection 内のアイテムのビューポートからの領域を返す。
基底クラスでは、これは純粋な仮想関数です。
visualRect() およびselectedIndexes()も参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.