QItemSelectionModel Class

QItemSelectionModel クラスは、ビューの選択された項目を追跡します。詳細...

Header: #include <QItemSelectionModel>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core
Inherits: QObject

パブリックな型

enum SelectionFlag { NoUpdate, Clear, Select, Deselect, Toggle, …, ClearAndSelect }
flags SelectionFlags

プロパティ

パブリック関数

QItemSelectionModel(QAbstractItemModel *model = nullptr)
QItemSelectionModel(QAbstractItemModel *model, QObject *parent)
virtual ~QItemSelectionModel()
bool columnIntersectsSelection(int column, const QModelIndex &parent = QModelIndex()) const
QModelIndex currentIndex() const
bool hasSelection() const
bool isColumnSelected(int column, const QModelIndex &parent = QModelIndex()) const
bool isRowSelected(int row, const QModelIndex &parent = QModelIndex()) const
bool isSelected(const QModelIndex &index) const
QAbstractItemModel *model()
const QAbstractItemModel *model() const
bool rowIntersectsSelection(int row, const QModelIndex &parent = QModelIndex()) const
QModelIndexList selectedColumns(int row = 0) const
QModelIndexList selectedIndexes() const
QModelIndexList selectedRows(int column = 0) const
const QItemSelection selection() const
void setModel(QAbstractItemModel *model)

パブリックスロット

virtual void clear()
virtual void clearCurrentIndex()
void clearSelection()
virtual void reset()
virtual void select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command)
virtual void select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)
virtual void setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)

シグナル

void currentChanged(const QModelIndex &current, const QModelIndex &previous)
void currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)
void currentRowChanged(const QModelIndex &current, const QModelIndex &previous)
void modelChanged(QAbstractItemModel *model)
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

保護された関数

void emitSelectionChanged(const QItemSelection &newSelection, const QItemSelection &oldSelection)

詳細説明

QItemSelectionModel は、1つのビュー、または同じモデル上の複数のビューで選択された項目を追跡します。また、ビューで現在選択されている項目の追跡も行います。

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

選択された項目は範囲を使って保存されます。選択された項目を変更したい場合は、select ()を使用し、QItemSelection 、またはQModelIndexQItemSelectionModel::SelectionFlag

QItemSelectionModel は、コミットされた選択項目と、現在の選択項目の一部である項目の両方を扱う、選択項目管理に2つのレイヤー・アプローチを取ります。現在の選択項目は、現在のインタラクティブな選択項目の一部です(ラバーバンド選択やキーボードシフト選択など)。

現在選択されている項目を更新するには、QItemSelectionModel::Current と他のSelectionFlags のビットの OR を使います。QItemSelectionModel::Current コマンドを省略すると、 新しい現在の選択範囲が作成され、 以前の選択範囲が選択範囲全体に追加されます。例えば、selecteditems() は、両方のレイヤーから項目を返します。

注: 5.5以降、modelhasSelectioncurrentIndex はメタ・オブジェクト・プロパティです。

モデル/ビュー・プログラミングおよびQAbstractItemModelも参照してください

メンバ型ドキュメント

enum QItemSelectionModel::SelectionFlag
flags QItemSelectionModel::SelectionFlags

この列挙型は、選択モデルが更新される方法を記述します。

定数説明
QItemSelectionModel::NoUpdate0x0000選択は行われません。
QItemSelectionModel::Clear0x0001完全な選択はクリアされます。
QItemSelectionModel::Select0x0002指定されたすべてのインデックスが選択されます。
QItemSelectionModel::Deselect0x0004指定されたすべてのインデックスが選択解除されます。
QItemSelectionModel::Toggle0x0008指定されたすべてのインデックスが現在の状態に応じて選択または選択解除されます。
QItemSelectionModel::Current0x0010現在の選択範囲が更新される。
QItemSelectionModel::Rows0x0020すべてのインデックスが行にまたがって展開されます。
QItemSelectionModel::Columns0x0040すべてのインデックスが列をまたぐように展開される。
QItemSelectionModel::SelectCurrentSelect | CurrentSelectとCurrentの組み合わせ。
QItemSelectionModel::ToggleCurrentToggle | CurrentToggleとCurrentの組み合わせ。
QItemSelectionModel::ClearAndSelectClear | SelectClear と Select の組み合わせ。

SelectionFlags型はQFlags<SelectionFlag>のtypedefである。SelectionFlag値のORの組み合わせを格納する。

プロパティの説明

[read-only] selectedIndexes : const QModelIndexList

アクセス関数

QModelIndexList selectedIndexes() const

Notifier シグナル:

void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

メンバ関数ドキュメント

[explicit] QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model = nullptr)

指定された項目model を操作する選択モデルを構築する。

[explicit] QItemSelectionModel::QItemSelectionModel(QAbstractItemModel *model, QObject *parent)

parent で指定された項目model を操作する選択モデルを構築します。

[virtual noexcept] QItemSelectionModel::~QItemSelectionModel()

選択モデルを破棄します。

[virtual slot] void QItemSelectionModel::clear()

選択モデルをクリアします。selectionChanged() とcurrentChanged() を出力します。

[virtual slot] void QItemSelectionModel::clearCurrentIndex()

現在のインデックスをクリアします。currentChanged() を呼び出します。

[slot] void QItemSelectionModel::clearSelection()

選択モデルの選択範囲をクリアします。selectionChanged() を発行します。

[invokable] bool QItemSelectionModel::columnIntersectsSelection(int column, const QModelIndex &parent = QModelIndex()) const

与えられたparent を持つcolumn で選択されている項目があれば、true を返します。

: Qt 5.15 以降、parent のデフォルトの引数は空のモデル・インデックスです。

注意 : この関数は、メタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[signal] void QItemSelectionModel::currentChanged(const QModelIndex &current, const QModelIndex &previous)

このシグナルは、現在のアイテムが変更されるたびに発せられます。previous のモデル・アイテム・インデックスは、current のインデックスに置き換えられます。

アイテムモデルがリセットされると、このシグナルは発せられないことに注意してください。

currentIndex()、setCurrentIndex()、selectionChanged()も参照

[signal] void QItemSelectionModel::currentColumnChanged(const QModelIndex &current, const QModelIndex &previous)

このシグナルは、current アイテムが変更され、そのカラムがprevious カレントアイテムのカラムと異なる場合に発行されます。

アイテムモデルがリセットされると、このシグナルは発行されないことに注意してください。

currentChanged(),currentRowChanged(),currentIndex(),setCurrentIndex()も参照

QModelIndex QItemSelectionModel::currentIndex() const

現在のアイテムのモデル・アイテム・インデックス、または現在のアイテムがない場合は無効なインデックスを返します。

setCurrentIndex()も参照

[signal] void QItemSelectionModel::currentRowChanged(const QModelIndex &current, const QModelIndex &previous)

このシグナルは、current の項目が変更され、その行がprevious の現在の項目の行と異なる場合に発せられます。

アイテムモデルがリセットされると、このシグナルは発せられないことに注意してください。

currentChanged(),currentColumnChanged(),currentIndex(),setCurrentIndex()も参照のこと

[protected] void QItemSelectionModel::emitSelectionChanged(const QItemSelection &newSelection, const QItemSelection &oldSelection)

2つの選択項目newSelectionoldSelection を比較し、選択解除された項目と選択された項目でselectionChanged() を返します。

bool QItemSelectionModel::hasSelection() const

選択モデルに選択された項目があればtrue を返し、なければfalse を返します。

[invokable] bool QItemSelectionModel::isColumnSelected(int column, const QModelIndex &parent = QModelIndex()) const

与えられたparent を持つcolumn ですべての項目が選択されている場合はtrue を返します。

この関数は通常、同じ列のすべての項目に対してisSelected() を呼び出すよりも高速であり、選択されていない項目は無視されることに注意してください。

注意: Qt 5.15 以降、parent のデフォルトの引数は空のモデル・インデックスです。

注意 : この関数は、メタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QItemSelectionModel::isRowSelected(int row, const QModelIndex &parent = QModelIndex()) const

与えられたparent を持つrow ですべてのアイテムが選択されている場合、true を返します。

この関数は通常、同じ行のすべての項目に対してisSelected() を呼び出すよりも高速であり、選択不可能な項目は無視されることに注意してください。

注意: Qt 5.15 以降、parent のデフォルトの引数は空のモデル・インデックスです。

注意 : この関数は、メタオブジェクトシステムや QML から呼び出すことができます。Q_INVOKABLE を参照してください。

[invokable] bool QItemSelectionModel::isSelected(const QModelIndex &index) const

与えられたモデル項目index が選択されている場合、true を返します。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

QAbstractItemModel *QItemSelectionModel::model()

選択モデルによって操作された項目モデルを返します。

setModel()も参照

const QAbstractItemModel *QItemSelectionModel::model() const

選択モデルによって操作された項目モデルを返します。

[signal] void QItemSelectionModel::modelChanged(QAbstractItemModel *model)

このシグナルはsetModel() でmodel が正常に設定されたときに発せられます。

model() およびsetModel()も参照のこと

[virtual slot] void QItemSelectionModel::reset()

選択モデルをクリアします。シグナルは発しません。

[invokable] bool QItemSelectionModel::rowIntersectsSelection(int row, const QModelIndex &parent = QModelIndex()) const

与えられたparentrow に選択されている項目があればtrue を返します。

: Qt 5.15 以降、parent のデフォルトの引数は空のモデル・インデックスです。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

[virtual slot] void QItemSelectionModel::select(const QItemSelection &selection, QItemSelectionModel::SelectionFlags command)

指定されたcommand を使ってアイテムselection を選択し、selectionChanged() を発行します。

QItemSelectionModel::SelectionFlagも参照してください

[virtual slot] void QItemSelectionModel::select(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)

指定されたcommand を使用してモデル項目index を選択し、selectionChanged() を呼び出します。

QItemSelectionModel::SelectionFlagsも参照して ください。

[invokable] QModelIndexList QItemSelectionModel::selectedColumns(int row = 0) const

すべての行が選択されている列について、指定されたrow のインデックスを返します。

注意: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

QModelIndexList QItemSelectionModel::selectedIndexes() const

選択されたすべてのモデル項目インデックスのリストを返します。リストは重複を含まず、ソートされません。

注釈 selectedIndexes プロパティのゲッター関数です。

[invokable] QModelIndexList QItemSelectionModel::selectedRows(int column = 0) const

すべての列が選択されている行について、指定されたcolumn 内のインデックスを返します。

注: この関数はメタオブジェクトシステムやQMLから呼び出すことができます。Q_INVOKABLE を参照してください。

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

const QItemSelection QItemSelectionModel::selection() const

選択モデルに格納されている選択範囲を返します。

[signal] void QItemSelectionModel::selectionChanged(const QItemSelection &selected, const QItemSelection &deselected)

このシグナルは選択範囲が変更されるたびに発せられます。選択範囲の変更は、deselected 項目の項目選択とselected 項目の項目選択として表現されます。

現在のインデックスは選択範囲とは無関係に変化することに注意してください。また、このシグナルはアイテムモデルがリセットされたときには発せられないことにも注意してください。

選択されたままインデックスが変化するアイテムは、selecteddeselected には含まれません。したがって、選択されたアイテムのインデックスのみが変更された場合、selecteddeselected の両方が空の状態でこのシグナルが発行される可能性があります。

注: selectedIndexes プロパティのノーティファイア・シグナル。

select() およびcurrentChanged()も参照して ください。

[virtual slot] void QItemSelectionModel::setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command)

モデル項目index をカレント項目に設定し、currentChanged() を発する。カレントアイテムは、キーボードナビゲーションとフォーカス表示に使用されます。カレントアイテムは、選択されたアイテムとは独立していますが、選択されたアイテムがカレントアイテムになることもあります。

指定されたcommand に応じて、index も現在の選択項目の一部となる。

currentIndex() およびselect()も参照

void QItemSelectionModel::setModel(QAbstractItemModel *model)

モデルをmodel に設定します。modelChanged() シグナルが出力されます。

model() およびmodelChanged() も参照して ください。

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