The QItemSelectionModel 類保持視圖選中項的跟蹤。 更多...
| 頭: | #include <QItemSelectionModel> |
| qmake: | QT += core |
| 繼承: | QObject |
| enum | SelectionFlag { NoUpdate, Clear, Select, Deselect, ..., ClearAndSelect } |
| flags | SelectionFlags |
| QItemSelectionModel (QAbstractItemModel * model = nullptr) | |
| QItemSelectionModel (QAbstractItemModel * model , QObject * parent ) | |
| virtual | ~QItemSelectionModel () |
| bool | columnIntersectsSelection (int column , const QModelIndex & parent ) const |
| QModelIndex | currentIndex () const |
| bool | hasSelection () const |
| bool | isColumnSelected (int column , const QModelIndex & parent ) const |
| bool | isRowSelected (int row , const QModelIndex & parent ) const |
| bool | isSelected (const QModelIndex & index ) const |
| const QAbstractItemModel * | model () const |
| QAbstractItemModel * | model () |
| bool | rowIntersectsSelection (int row , const QModelIndex & parent ) 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 QModelIndex & index , QItemSelectionModel::SelectionFlags command ) |
| virtual void | select (const QItemSelection & selection , 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 ) |
| const QMetaObject | staticMetaObject |
| void | emitSelectionChanged (const QItemSelection & newSelection , const QItemSelection & oldSelection ) |
The QItemSelectionModel 類保持視圖選中項的跟蹤。
A QItemSelectionModel keeps track of the selected items in a view, or in several views onto the same model. It also keeps track of the currently selected item in a view.
The QItemSelectionModel 類是一種 模型/視圖類 且屬於 Qt 的 模型/視圖框架 .
選中項使用範圍存儲。每當想要修改選中項時,使用 select () 和提供 QItemSelection ,或 QModelIndex 和 QItemSelectionModel::SelectionFlag .
The QItemSelectionModel takes a two layer approach to selection management, dealing with both selected items that have been committed and items that are part of the current selection. The current selected items are part of the current interactive selection (for example with rubber-band selection or keyboard-shift selections).
要更新目前的選中項,使用按位 OR 的 QItemSelectionModel::Current 和任何其它 SelectionFlags 。若省略 QItemSelectionModel::Current 命令將創建新的當前選定,並將之前的添加到整個選定。所有函數運轉於兩者層;例如, selecteditems() 將從 2 層返迴項。
注意: 從 5.5 起, model , hasSelection ,和 currentIndex 是元對象特性。
另請參閱 模型/視圖編程 , QAbstractItemModel ,和 圖錶範例 .
此枚舉描述將更新選定模型的方式。
| 常量 | 值 | 描述 |
|---|---|---|
QItemSelectionModel::NoUpdate
|
0x0000
|
不會做齣選擇。 |
QItemSelectionModel::Clear
|
0x0001
|
完整選定將被清零。 |
QItemSelectionModel::Select
|
0x0002
|
所有指定索引將被選中。 |
QItemSelectionModel::Deselect
|
0x0004
|
所有指定索引將被取消選擇。 |
QItemSelectionModel::Toggle
|
0x0008
|
所有指定索引將根據它們的當前狀態被選中或取消選擇。 |
QItemSelectionModel::Current
|
0x0010
|
當前選定將被更新。 |
QItemSelectionModel::Rows
|
0x0020
|
將擴展所有索引以跨行。 |
QItemSelectionModel::Columns
|
0x0040
|
將擴展所有索引以跨列。 |
QItemSelectionModel::SelectCurrent
|
Select | Current
|
Select 和 Current 的組閤,為方便起見提供。 |
QItemSelectionModel::ToggleCurrent
|
Toggle | Current
|
Toggle 和 Current 的組閤,為方便起見提供。 |
QItemSelectionModel::ClearAndSelect
|
Clear | Select
|
Clear 和 Select 的組閤,為方便起見提供。 |
SelectionFlags 類型是 typedef 對於 QFlags <SelectionFlag>。它存儲 SelectionFlag 值的 OR 組閤。
該特性在 Qt 5.5 引入。
訪問函數:
| QModelIndexList | selectedIndexes () const |
通知程序信號:
| void | selectionChanged (const QItemSelection & selected , const QItemSelection & deselected ) |
Constructs a selection model that operates on the specified item model .
Constructs a selection model that operates on the specified item model with parent .
[虛擬]
QItemSelectionModel::
~QItemSelectionModel
()
銷毀選定模型。
[virtual slot]
void
QItemSelectionModel::
clear
()
清零選定模型。發射 selectionChanged () 和 currentChanged ().
[virtual slot]
void
QItemSelectionModel::
clearCurrentIndex
()
清零當前索引。發射 currentChanged ().
[slot]
void
QItemSelectionModel::
clearSelection
()
Clears the selection in the selection model. Emits selectionChanged ().
該函數在 Qt 4.2 引入。
返迴
true
若有選中任何項在
column
采用給定
parent
.
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
[signal]
void
QItemSelectionModel::
currentChanged
(const
QModelIndex
&
current
, const
QModelIndex
&
previous
)
此信號被發射每當當前項改變。 previous model item index is replaced by the current index as the selection's current item.
Note that this signal will not be emitted when the item model is reset.
另請參閱 currentIndex (), setCurrentIndex (),和 selectionChanged ().
[signal]
void
QItemSelectionModel::
currentColumnChanged
(const
QModelIndex
&
current
, const
QModelIndex
&
previous
)
此信號發射,若 current item changes and its column is different to the column of the previous 當前項。
Note that this signal will not be emitted when the item model is reset.
另請參閱 currentChanged (), currentRowChanged (), currentIndex (),和 setCurrentIndex ().
Returns the model item index for the current item, or an invalid index if there is no current item.
另請參閱 setCurrentIndex ().
[signal]
void
QItemSelectionModel::
currentRowChanged
(const
QModelIndex
&
current
, const
QModelIndex
&
previous
)
此信號發射,若 current item changes and its row is different to the row of the previous 當前項。
Note that this signal will not be emitted when the item model is reset.
另請參閱 currentChanged (), currentColumnChanged (), currentIndex (),和 setCurrentIndex ().
[protected]
void
QItemSelectionModel::
emitSelectionChanged
(const
QItemSelection
&
newSelection
, const
QItemSelection
&
oldSelection
)
比較 2 選定 newSelection and oldSelection 並發射 selectionChanged () with the deselected and selected items.
返迴
true
if the selection model contains any selection ranges; otherwise returns
false
.
該函數在 Qt 4.2 引入。
返迴
true
if all items are selected in the
column
采用給定
parent
.
Note that this function is usually faster than calling isSelected () on all items in the same column and that unselectable items are ignored.
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
返迴
true
if all items are selected in the
row
采用給定
parent
.
Note that this function is usually faster than calling isSelected () on all items in the same row and that unselectable items are ignored.
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
返迴
true
若給定模型項
index
被選中。
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
返迴由選定模型操作的項模型。
另請參閱 setModel ().
返迴由選定模型操作的項模型。
該函數在 Qt 5.5 引入。
[signal]
void
QItemSelectionModel::
modelChanged
(
QAbstractItemModel
*
model
)
此信號發射,當 model is successfully set with setModel ().
該函數在 Qt 5.5 引入。
[virtual slot]
void
QItemSelectionModel::
reset
()
Clears the selection model. Does not emit any signals.
返迴
true
若有選中任何項在
row
采用給定
parent
.
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
[virtual slot]
void
QItemSelectionModel::
select
(const
QModelIndex
&
index
,
QItemSelectionModel::SelectionFlags
command
)
選擇模型項 index 使用指定 command ,和發射 selectionChanged ().
另請參閱 QItemSelectionModel::SelectionFlags .
[virtual slot]
void
QItemSelectionModel::
select
(const
QItemSelection
&
selection
,
QItemSelectionModel::SelectionFlags
command
)
選擇項 selection 使用指定 command ,和發射 selectionChanged ().
另請參閱 QItemSelectionModel::SelectionFlag .
返迴的索引在給定 row 對於選中所有行的列而言。
該函數在 Qt 4.2 引入。
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
另請參閱 selectedIndexes () 和 selectedRows ().
返迴所有選中模型項索引的列錶。列錶包含的不重復,且未排序。
注意: getter 函數對於特性 selectedIndexes .
返迴的索引在給定 column 對於選中所有列的行而言。
該函數在 Qt 4.2 引入。
注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .
另請參閱 selectedIndexes () 和 selectedColumns ().
返迴存儲在選定模型中的選定範圍。
[signal]
void
QItemSelectionModel::
selectionChanged
(const
QItemSelection
&
selected
, const
QItemSelection
&
deselected
)
This signal is emitted whenever the selection changes. The change in the selection is represented as an item selection of deselected items and an item selection of selected 項。
Note the that the current index changes independently from the selection. Also note that this signal will not be emitted when the item model is reset.
注意: 通知程序信號對於特性 selectedIndexes .
另請參閱 select () 和 currentChanged ().
[virtual slot]
void
QItemSelectionModel::
setCurrentIndex
(const
QModelIndex
&
index
,
QItemSelectionModel::SelectionFlags
command
)
Sets the model item index to be the current item, and emits currentChanged (). The current item is used for keyboard navigation and focus indication; it is independent of any selected items, although a selected item can also be the current item.
從屬指定 command , index 也可以變為當前選定的一部分。
另請參閱 currentIndex () 和 select ().
將模型設為 model 。 modelChanged () 信號將發射。
該函數在 Qt 5.5 引入。
另請參閱 model () 和 modelChanged ().