QAbstractItemView 类为项视图类提供基本功能。 更多...
头: | #include <QAbstractItemView> |
CMake: |
find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
继承: | QAbstractScrollArea |
继承者: | QColumnView , QHeaderView , QListView , QTableView ,和 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 |
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 |
virtual void | initViewItemOption (QStyleOptionViewItem * option ) const |
virtual bool | isIndexHidden (const QModelIndex & index ) const = 0 |
virtual QModelIndex | moveCursor (QAbstractItemView::CursorAction cursorAction , Qt::KeyboardModifiers modifiers ) = 0 |
void | scheduleDelayedItemsLayout () |
void | scrollDirtyRegion (int dx , int dy ) |
virtual QModelIndexList | selectedIndexes () const |
virtual QItemSelectionModel::SelectionFlags | selectionCommand (const QModelIndex & index , const QEvent * event = nullptr) const |
void | setDirtyRegion (const QRegion & region ) |
virtual void | setSelection (const QRect & rect , QItemSelectionModel::SelectionFlags flags ) = 0 |
void | setState (QAbstractItemView::State state ) |
virtual void | startDrag (Qt::DropActions supportedActions ) |
QAbstractItemView::State | state () const |
virtual int | verticalOffset () const = 0 |
virtual QRegion | visualRegionForSelection (const QItemSelection & selection ) const = 0 |
virtual void | dragEnterEvent (QDragEnterEvent * event ) override |
virtual void | dragLeaveEvent (QDragLeaveEvent * event ) override |
virtual void | dragMoveEvent (QDragMoveEvent * event ) override |
virtual void | dropEvent (QDropEvent * event ) override |
virtual bool | event (QEvent * event ) override |
virtual bool | eventFilter (QObject * object , QEvent * event ) override |
virtual void | focusInEvent (QFocusEvent * event ) override |
virtual bool | focusNextPrevChild (bool next ) override |
virtual void | focusOutEvent (QFocusEvent * event ) override |
virtual void | inputMethodEvent (QInputMethodEvent * event ) override |
virtual void | keyPressEvent (QKeyEvent * event ) override |
virtual void | mouseDoubleClickEvent (QMouseEvent * event ) override |
virtual void | mouseMoveEvent (QMouseEvent * event ) override |
virtual void | mousePressEvent (QMouseEvent * event ) override |
virtual void | mouseReleaseEvent (QMouseEvent * event ) override |
virtual void | resizeEvent (QResizeEvent * event ) override |
virtual void | timerEvent (QTimerEvent * event ) override |
virtual bool | viewportEvent (QEvent * event ) override |
virtual QSize | viewportSizeHint () const override |
virtual void | closeEditor (QWidget * editor , QAbstractItemDelegate::EndEditHint hint ) |
virtual void | commitData (QWidget * editor ) |
virtual void | currentChanged (const QModelIndex & current , const QModelIndex & previous ) |
virtual void | dataChanged (const QModelIndex & topLeft , const QModelIndex & bottomRight , const QList<int> & roles = QList<int>()) |
virtual void | editorDestroyed (QObject * editor ) |
virtual void | rowsAboutToBeRemoved (const QModelIndex & parent , int start , int end ) |
virtual void | rowsInserted (const QModelIndex & parent , int start , int end ) |
virtual void | selectionChanged (const QItemSelection & selected , const QItemSelection & deselected ) |
virtual void | updateGeometries () |
QAbstractItemView 类是每个标准视图的基类使用 QAbstractItemModel 。QAbstractItemView 是本身不可以被实例化的抽象类。它提供透过信号和槽机制与模型进行互操作的标准接口,使子类能够随着其模型的改变保持最新。此类为键盘和鼠标导航、视口卷动、项编辑及选定提供标准支持。键盘导航实现了此功能:
键 | 功能 |
---|---|
方向键 | 改变当前项并选择它。 |
Ctrl + 方向键 | 改变当前项但不选择它。 |
Shift + 方向键 | 更改当前项并选择它。先前选中项不会被取消选择。 |
Ctrl+Space | 触发当前项的选定。 |
Tab/Backtab | 将当前项更改为下一/上一项。 |
Home/End | 选择模型中的第一/最后项。 |
Page up/Page down | 按视图中的可见行数向上/向下卷动展示行。 |
Ctrl+A | 选择模型中的所有项。 |
注意,上表假定 选定模式 允许操作。例如,无法选择项,若选定模式为 QAbstractItemView::NoSelection .
QAbstractItemView 类是一种 模型/视图类 且属于 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 提供了许多保护函数。某些涉及编辑,例如, edit (),和 commitData (),而其它的是键盘和鼠标事件处理程序。
注意: 若继承 QAbstractItemView 并打算更新视口内容,应使用 viewport-> update () 而不是 update() 因为所有描绘操作都发生在视口中。
另请参阅 视图类 , 模型/视图编程 , QAbstractItemModel ,和 图表范例 .
此枚举描述在项之间导航的不同方式,
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::MoveUp
|
0
|
移至当前项的上方项。 |
QAbstractItemView::MoveDown
|
1
|
移至当前项的下方项。 |
QAbstractItemView::MoveLeft
|
2
|
移至当前项的项左侧。 |
QAbstractItemView::MoveRight
|
3
|
移至当前项的项右侧。 |
QAbstractItemView::MoveHome
|
4
|
移至左上角项。 |
QAbstractItemView::MoveEnd
|
5
|
移至右下角项。 |
QAbstractItemView::MovePageUp
|
6
|
移至当前项上一页。 |
QAbstractItemView::MovePageDown
|
7
|
移至当前项下一页。 |
QAbstractItemView::MoveNext
|
8
|
移至当前项之后项。 |
QAbstractItemView::MovePrevious
|
9
|
移至当前项之前项。 |
另请参阅 moveCursor ().
描述视图可以行动的各种拖放事件。默认情况下,视图不支持拖拽或掉落 (
NoDragDrop
).
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::NoDragDrop
|
0
|
不支持拖拽或掉落。 |
QAbstractItemView::DragOnly
|
1
|
视图支持拖拽自己的项 |
QAbstractItemView::DropOnly
|
2
|
视图接受掉落 |
QAbstractItemView::DragDrop
|
3
|
视图支持拖拽和掉落两者 |
QAbstractItemView::InternalMove
|
4
|
视图接受移动 ( 非拷贝 ) 操作仅来自自身。 |
注意,使用模型需要提供对拖放操作的支持。
另请参阅 setDragDropMode () 和 将拖放用于项视图 .
此枚举指示掉落指示器相对当前鼠标位置的索引位置:
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::OnItem
|
0
|
项将掉落在索引处。 |
QAbstractItemView::AboveItem
|
1
|
项将掉落在索引上方。 |
QAbstractItemView::BelowItem
|
2
|
项将掉落在索引下方。 |
QAbstractItemView::OnViewport
|
3
|
项将掉落在没有项的视口区域。各视图处理视口掉落项的方式,从属正使用的底层模型行为。 |
此枚举描述初启项将编辑的动作。
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::NoEditTriggers
|
0
|
没有编辑可能。 |
QAbstractItemView::CurrentChanged
|
1
|
开始编辑每当当前项改变时。 |
QAbstractItemView::DoubleClicked
|
2
|
开始编辑当双击项时。 |
QAbstractItemView::SelectedClicked
|
4
|
开始编辑当点击已选中项时。 |
QAbstractItemView::EditKeyPressed
|
8
|
开始编辑当在项上按下平台编辑键时。 |
QAbstractItemView::AnyKeyPressed
|
16
|
开始编辑当在项上按下任意键时。 |
QAbstractItemView::AllEditTriggers
|
31
|
开始编辑对于上述所有动作。 |
EditTriggers 类型是 typedef 对于 QFlags <EditTrigger>。它存储 EditTrigger 值的 OR 组合。
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::EnsureVisible
|
0
|
卷动以确保项可见。 |
QAbstractItemView::PositionAtTop
|
1
|
卷动以将项放置在视口顶部。 |
QAbstractItemView::PositionAtBottom
|
2
|
卷动以定位到视口底部项。 |
QAbstractItemView::PositionAtCenter
|
3
|
卷动以定位到视口中心项。 |
描述滚动条的行为应如何。当把卷动模式设为 ScrollPerPixel 时,将自动调节单步大小,除非它被明确设置使用 setSingleStep() 。可以通过将单步大小设为 -1 以还原自动调节。
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::ScrollPerItem
|
0
|
视图每次卷动内容一项。 |
QAbstractItemView::ScrollPerPixel
|
1
|
视图每次卷动内容一像素。 |
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::SelectItems
|
0
|
选择单个项。 |
QAbstractItemView::SelectRows
|
1
|
仅选择行。 |
QAbstractItemView::SelectColumns
|
2
|
仅选择列。 |
此枚举指示视图如何响应用户选择:
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::SingleSelection
|
1
|
当用户选择项时,任何已选中项变为未选中。用户通过按下 Ctrl 键取消对选中项的选择是可能的,当点击选中项时。 |
QAbstractItemView::ContiguousSelection
|
4
|
当用户以通常方式选择项时,清零选定并选中新项。不管怎样,若用户按下 Shift 键点击项,选中 (或取消选中) 当前项和点击项之间的所有项,从属点击项状态。 |
QAbstractItemView::ExtendedSelection
|
3
|
当用户以通常方式选择项时,清零选定并选中新项。不管怎样,若用户按下 Ctrl 键点击项时,触发点击项,而所有其它项保持原样。若用户按下 Shift 键点击项,选中 (或取消选中) 当前项和点击项之间的所有项,从属点击项状态。可以通过拖拽鼠标到多个项之上来选择它们。 |
QAbstractItemView::MultiSelection
|
2
|
当用户以通常方式选择项时,会触发这些项的选定状态,而其它项单独保持。可以通过拖拽鼠标到多个项之上来触发它们。 |
QAbstractItemView::NoSelection
|
0
|
无法选择项。 |
最常用模式为 SingleSelection 和 ExtendedSelection。
描述视图可以处于的不同状态。通常,这只对重实现自己的视图感兴趣。
常量 | 值 | 描述 |
---|---|---|
QAbstractItemView::NoState
|
0
|
这是默认状态。 |
QAbstractItemView::DraggingState
|
1
|
用户正在拖拽项。 |
QAbstractItemView::DragSelectingState
|
2
|
用户正在选择项。 |
QAbstractItemView::EditingState
|
3
|
用户正在 Widget 编辑器中编辑项。 |
QAbstractItemView::ExpandingState
|
4
|
用户正在打开项分支。 |
QAbstractItemView::CollapsingState
|
5
|
用户正在关闭项分支。 |
QAbstractItemView::AnimatingState
|
6
|
项视图正在履行动画。 |
此特性保持是否使用交替颜色绘制背景
若此特性为
true
,将绘制项背景使用
QPalette::Base
and
QPalette::AlternateBase
;否则将绘制项背景使用
QPalette::Base
颜色。
默认情况下,此特性为
false
.
访问函数:
bool | alternatingRowColors () const |
void | setAlternatingRowColors (bool enable ) |
此特性保持是否在拖拽移动事件中启用自动卷动
若此特性被设为 true (默认), QAbstractItemView 自动卷动视图内容,若用户在视口边缘 16 像素内拖拽。若当前项改变,那么视图将自动滚动以确保当前项完全可见。
此特性才工作,若视口接受掉落。通过将此特性设为 false 以关闭自动卷动。
访问函数:
bool | hasAutoScroll () const |
void | setAutoScroll (bool enable ) |
此特性保持区域的大小当触发自动卷动时
此特性控制视口边缘触发自动滚动的区域大小。默认值为 16 像素。
访问函数:
int | autoScrollMargin () const |
void | setAutoScrollMargin (int margin ) |
此特性保持将默认用于 QAbstractItemView::drag() 的掉落动作
若特性未设置,掉落动作为 CopyAction 当支持的动作支持 CopyAction 时。
访问函数:
Qt::DropAction | defaultDropAction () const |
void | setDefaultDropAction (Qt::DropAction dropAction ) |
另请参阅 showDropIndicator and dragDropOverwriteMode .
此特性保持视图将进行拖放事件行动
访问函数:
QAbstractItemView::DragDropMode | dragDropMode () const |
void | setDragDropMode (QAbstractItemView::DragDropMode behavior ) |
另请参阅 showDropIndicator and dragDropOverwriteMode .
此特性保持视图的拖放行为
若其值为
true
,选中数据将覆写现有项数据当掉落时,而移动数据时将清除项。若其值为
false
,选中数据将插入作为新项当数据掉落时。当数据移动时,项也被移除。
默认值为
false
,作为在
QListView
and
QTreeView
子类。在
QTableView
子类,另一方面,特性已被设为
true
.
注意:这并非旨在阻止项覆写。模型的 flags() 实现应做到这点,通过不返回 Qt::ItemIsDropEnabled .
访问函数:
bool | dragDropOverwriteMode () const |
void | setDragDropOverwriteMode (bool overwrite ) |
另请参阅 dragDropMode .
此特性保持视图是否支持拖拽其自己的项
访问函数:
bool | dragEnabled () const |
void | setDragEnabled (bool enable ) |
另请参阅 showDropIndicator , DragDropMode , dragDropOverwriteMode ,和 acceptDrops .
此特性保持动作将初启项编辑
此特性选定的标志定义通过 EditTrigger ,使用 OR 运算符组合。视图才初始项的编辑,若此特性有设置履行动作。
访问函数:
QAbstractItemView::EditTriggers | editTriggers () const |
void | setEditTriggers (QAbstractItemView::EditTriggers triggers ) |
视图如何在水平方向卷动其内容
此特性控制视图如何水平卷动其内容。卷动可以按像素或按项进行。它的默认值来自样式凭借 QStyle::SH_ItemView_ScrollMode 样式提示。
访问函数:
QAbstractItemView::ScrollMode | horizontalScrollMode () const |
void | setHorizontalScrollMode (QAbstractItemView::ScrollMode mode ) |
void | resetHorizontalScrollMode () |
此特性保持项图标的大小
设置此特性将导致再次布置项,当视图可见时。
访问函数:
QSize | iconSize () const |
void | setIconSize (const QSize & size ) |
通知程序信号:
void | iconSizeChanged (const QSize & size ) |
此特性保持视图使用的选定行为
此特性保持是否按单项、单行或单列进行选择。
访问函数:
QAbstractItemView::SelectionBehavior | selectionBehavior () const |
void | setSelectionBehavior (QAbstractItemView::SelectionBehavior behavior ) |
另请参阅 SelectionMode and SelectionBehavior .
此特性保持在哪种选择模式下操作视图
此特性控制用户是否可以选择一个或多个项,和在多项选定中,选定是否必须为连续范围项。
访问函数:
QAbstractItemView::SelectionMode | selectionMode () const |
void | setSelectionMode (QAbstractItemView::SelectionMode mode ) |
另请参阅 SelectionMode and SelectionBehavior .
此特性保持是否展示掉落指示器,当拖放项时。
访问函数:
bool | showDropIndicator () const |
void | setDropIndicatorShown (bool enable ) |
另请参阅 dragEnabled , DragDropMode , dragDropOverwriteMode ,和 acceptDrops .
此特性保持采用 tab 和 backtab 的项导航是否被启用。
访问函数:
bool | tabKeyNavigation () const |
void | setTabKeyNavigation (bool enable ) |
此特性保持 ... 在省略文本中的位置。
所有项视图的默认值为 Qt::ElideRight .
访问函数:
Qt::TextElideMode | textElideMode () const |
void | setTextElideMode (Qt::TextElideMode mode ) |
视图如何在垂直方向卷动其内容
此特性控制视图如何垂直卷动其内容。卷动可以按每像素或每项进行。它的默认值来自样式凭借 QStyle::SH_ItemView_ScrollMode 样式提示。
访问函数:
QAbstractItemView::ScrollMode | verticalScrollMode () const |
void | setVerticalScrollMode (QAbstractItemView::ScrollMode mode ) |
void | resetVerticalScrollMode () |
构造抽象项视图采用给定 parent .
[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 用于指定视图应如何响应编辑操作的结束。例如,hint (提示) 可能指示应打开下一视图项以供编辑。
另请参阅 edit () 和 commitData ().
[virtual protected slot]
void
QAbstractItemView::
commitData
(
QWidget
*
editor
)
提交数据在 editor 到模型。
另请参阅 closeEditor ().
[virtual protected slot]
void
QAbstractItemView::
currentChanged
(const
QModelIndex
&
current
, const
QModelIndex
&
previous
)
此槽被调用,当新项变为当前项。上一当前项的指定通过 previous 索引,和新项通过 current 索引。
若想要知道项的有关改变,见 dataChanged () 信号。
[virtual protected slot]
void
QAbstractItemView::
dataChanged
(const
QModelIndex
&
topLeft
, const
QModelIndex
&
bottomRight
, const
QList
<
int
> &
roles
= QList<int>())
此槽被调用,当项具有给定 roles 在模型中被改变。那些改变项来自 topLeft to bottomRight (包括在内)。若仅仅改变 1 项 topLeft == bottomRight .
roles (已改变) 可以是空容器 (意味着一切都已改变),或是带有已改变角色子集的非空容器。
注意: : Qt::ToolTipRole 不承兑视图中由 Qt 提供的 dataChanged()。
[signal]
void
QAbstractItemView::
doubleClicked
(const
QModelIndex
&
index
)
此信号被发射,当双击鼠标按钮时。被鼠标双击项的指定是通过 index 。信号才发射,当索引有效时。
另请参阅 clicked () 和 activated ().
[slot]
void
QAbstractItemView::
edit
(const
QModelIndex
&
index
)
开始编辑的项对应给定 index 若它可编辑。
注意,此函数不改变当前索引。由于当前索引定义了要编辑的下一和上一项,因此用户可能发现键盘导航无法如期望般工作。要提供一致导航行为,调用 setCurrentIndex () 在此函数采用相同模型索引之前。
另请参阅 QModelIndex::flags ().
[virtual protected slot]
void
QAbstractItemView::
editorDestroyed
(
QObject
*
editor
)
此函数被调用当给定 editor 已经被销毁。
另请参阅 closeEditor ().
[signal]
void
QAbstractItemView::
entered
(const
QModelIndex
&
index
)
此信号被发射,当鼠标光标进入的项指定通过 index 。需要启用鼠标追踪,为使此特征能工作。
另请参阅 viewportEntered (), activated (), clicked (), doubleClicked (),和 pressed ().
[signal]
void
QAbstractItemView::
pressed
(const
QModelIndex
&
index
)
此信号被发射,当鼠标按钮被按下。鼠标按下项的指定是通过 index 。信号才发射,当索引有效时。
使用 QGuiApplication::mouseButtons () 函数以获取鼠标按钮状态。
另请参阅 activated (), clicked (), doubleClicked (),和 entered ().
[virtual slot]
void
QAbstractItemView::
reset
()
重置视图的内部状态。
警告: 此函数将重置已打开的编辑器、滚动条位置、选定、等。现有变化不会被提交。若想要在重置视图时保存更改,可以重实现此函数,提交改变,然后调用超类实现。
[virtual protected slot]
void
QAbstractItemView::
rowsAboutToBeRemoved
(const
QModelIndex
&
parent
,
int
start
,
int
end
)
此槽被调用,当行即将被移除时。被删除行是那些在给定 parent from start to end 包括在内。
另请参阅 rowsInserted ().
[virtual protected slot]
void
QAbstractItemView::
rowsInserted
(const
QModelIndex
&
parent
,
int
start
,
int
end
)
此槽被调用,当行被插入时。新行是那些在给定 parent from start to end (包括在内)。基类实现调用模型 fetchMore() 以校验是否有更多数据。
另请参阅 rowsAboutToBeRemoved ().
[slot]
void
QAbstractItemView::
scrollToBottom
()
卷动视图到底部。
另请参阅 scrollTo () 和 scrollToTop ().
[slot]
void
QAbstractItemView::
scrollToTop
()
卷动视图到顶部。
另请参阅 scrollTo () 和 scrollToBottom ().
[virtual slot]
void
QAbstractItemView::
selectAll
()
选择视图中的所有项。这个函数将使用视图设置的选定行为,当选择时。
另请参阅 setSelection (), selectedIndexes (),和 clearSelection ().
[virtual protected slot]
void
QAbstractItemView::
selectionChanged
(const
QItemSelection
&
selected
, const
QItemSelection
&
deselected
)
此槽被调用,当选定改变时。先前选定 (可能为空) 的指定是通过 deselected ,和新选定通过 selected .
另请参阅 setSelection ().
[slot]
void
QAbstractItemView::
setCurrentIndex
(const
QModelIndex
&
index
)
将当前项设为是项在 index .
除非当前选定方式为 NoSelection ,项也会被选中。注意:此函数还会更新用户履行任何新选定的起始位置。
要把项设为当前项而不选择它,调用
selectionModel()->setCurrentIndex(index, QItemSelectionModel::NoUpdate);
另请参阅 currentIndex (), currentChanged (),和 selectionMode .
[virtual slot]
void
QAbstractItemView::
setRootIndex
(const
QModelIndex
&
index
)
将根项设为项按给定 index .
另请参阅 rootIndex ().
[slot]
void
QAbstractItemView::
update
(const
QModelIndex
&
index
)
更新占用区域通过给定 index .
[virtual protected slot]
void
QAbstractItemView::
updateGeometries
()
更新视图子级 Widget 的几何体。
[signal]
void
QAbstractItemView::
viewportEntered
()
此信号被发射,当鼠标光标进入视口时。鼠标追踪需要启用为使此特征能工作。
另请参阅 entered ().
[虚拟]
QAbstractItemView::
~QAbstractItemView
()
销毁视图。
关闭用于项的持久编辑器在给定 index .
另请参阅 openPersistentEditor () 和 isPersistentEditorOpen ().
返回当前项的模型索引。
另请参阅 setCurrentIndex ().
[protected]
QPoint
QAbstractItemView::
dirtyRegionOffset
() const
返回视图脏区域的偏移。
若使用 scrollDirtyRegion () 和实现 paintEvent () 在子类化的 QAbstractItemView ,应采用由此函数返回的偏移,翻译由描绘事件给出的区域。
另请参阅 scrollDirtyRegion () 和 setDirtyRegion ().
[override virtual protected]
void
QAbstractItemView::
dragEnterEvent
(
QDragEnterEvent
*
event
)
重实现: QAbstractScrollArea::dragEnterEvent (QDragEnterEvent *event).
此函数被调用采用给定 event 当拖放操作进入 Widget 时。若拖拽到有效掉落位置 (如:在接受掉落的项上),事件被接受;否则,事件被忽略。
另请参阅 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 当拖放操作在 Widget 上时。它会导致视图卷动, 例如:用户拖拽选定到视图右侧 (或底部边缘)。在此情况下,事件被接受;否则,事件被忽略。
另请参阅 dropEvent () 和 startDrag ().
[override virtual protected]
void
QAbstractItemView::
dropEvent
(
QDropEvent
*
event
)
重实现: QAbstractScrollArea::dropEvent (QDropEvent *event).
此函数被调用采用给定 event 当掉落事件出现在 Widget 上时。若模型接受事件位置,接受掉落事件;否则,忽略。
另请参阅 startDrag ().
[protected]
QAbstractItemView::DropIndicatorPosition
QAbstractItemView::
dropIndicatorPosition
() const
返回掉落指示器相对于最近项的位置。
[virtual protected]
bool
QAbstractItemView::
edit
(const
QModelIndex
&
index
,
QAbstractItemView::EditTrigger
trigger
,
QEvent
*
event
)
开始编辑的项在
index
,创建编辑器若有必要,并返回
true
若视图的
State
现为
EditingState
;否则返回
false
.
导致编辑过程动作的描述是通过 trigger ,且关联事件的指定是通过 event .
可以强制编辑通过指定 trigger 到 QAbstractItemView::AllEditTriggers .
另请参阅 closeEditor ().
[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 当 Widget 获得聚焦时。默认情况下,事件被忽略。
另请参阅 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 当 Widget 丢失聚焦时。默认情况下,事件被忽略。
另请参阅 clearFocus () 和 focusInEvent ().
[pure virtual protected]
int
QAbstractItemView::
horizontalOffset
() const
返回视图的水平偏移。
在基类中,这是纯虚函数。
另请参阅 verticalOffset ().
[pure virtual]
QModelIndex
QAbstractItemView::
indexAt
(const
QPoint
&
point
) const
返回项模型索引在视口坐标 point .
在基类中,这是纯虚函数。
另请参阅 visualRect ().
返回用于项的 Widget 在给定 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
返回
true
若项引用通过给定
index
在视图中被隐藏,否则返回
false
.
隐藏特定视图特性。例如在 TableView 可以将列标记为隐藏 (或在 TreeView 中将行标记为隐藏)。
在基类中,这是纯虚函数。
[since 5.10]
bool
QAbstractItemView::
isPersistentEditorOpen
(const
QModelIndex
&
index
) const
返回项是否打开持久编辑器在索引 index .
该函数在 Qt 5.10 引入。
另请参阅 openPersistentEditor () 和 closePersistentEditor ().
返回此视图和模型使用的项委托。这是某个设置采用 setItemDelegate (),或默认的。
另请参阅 setItemDelegate ().
返回用于此视图的项委托和模型为给定 column 。可以调用 itemDelegate () 以获取用于给定索引的当前委托指针。
另请参阅 setItemDelegateForColumn (), itemDelegateForRow (),和 itemDelegate ().
[virtual, since 6.0]
QAbstractItemDelegate
*QAbstractItemView::
itemDelegateForIndex
(const
QModelIndex
&
index
) const
返回用于此视图的项委托和模型为给定 index .
该函数在 Qt 6.0 引入。
另请参阅 setItemDelegate (), setItemDelegateForRow (),和 setItemDelegateForColumn ().
返回用于此视图的项委托和模型为给定
row
,或
nullptr
若没有赋值委托。可以调用
itemDelegate
() 以获取用于给定索引的当前委托指针。
另请参阅 setItemDelegateForRow (), itemDelegateForColumn (),和 setItemDelegate ().
[override virtual protected]
void
QAbstractItemView::
keyPressEvent
(
QKeyEvent
*
event
)
重实现: QAbstractScrollArea::keyPressEvent (QKeyEvent *e).
此函数被调用采用给定 event 当将键事件发送给 Widget 时。默认实现处理基本光标移动 (如:Up、Down、Left、Right、Home、PageUp、PageDown); activated () 信号被发射,若当前索引有效且激活键被按下 (如 Enter 或 Return,从属平台)。此函数是通过按下键初启编辑 (如:若按下 F2)。
另请参阅 edit (), moveCursor (), keyboardSearch (),和 tabKeyNavigation .
[虚拟]
void
QAbstractItemView::
keyboardSearch
(const
QString
&
search
)
移动到并选择项最佳匹配字符串 search 。若找不到项,什么都不发生。
按默认实现,搜索被重置若 search 为空,或从最后一次搜索起的时间间隔有超过 QApplication::keyboardInputInterval ().
返回此视图呈现的模型。
另请参阅 setModel ().
[override virtual protected]
void
QAbstractItemView::
mouseDoubleClickEvent
(
QMouseEvent
*
event
)
重实现: QAbstractScrollArea::mouseDoubleClickEvent (QMouseEvent *e).
此函数被调用采用给定 event 当在 Widget 内双击鼠标按钮时。若双击有效项,会发射 doubleClicked () 信号和调用 edit () 在项。
[override virtual protected]
void
QAbstractItemView::
mouseMoveEvent
(
QMouseEvent
*
event
)
重实现: QAbstractScrollArea::mouseMoveEvent (QMouseEvent *e).
此函数被调用采用给定 event 当把鼠标移动事件发送给 Widget 时。若选择正在进行中,且要覆盖选定而移动新项,将扩展;若拖拽正在进行中,继续。
[override virtual protected]
void
QAbstractItemView::
mousePressEvent
(
QMouseEvent
*
event
)
重实现: QAbstractScrollArea::mousePressEvent (QMouseEvent *e).
此函数被调用采用给定 event 当按下鼠标按钮 (且光标在 Widget 内部) 时。若被按下,有效项会变成当前项。此函数发射 pressed () 信号。
[override virtual protected]
void
QAbstractItemView::
mouseReleaseEvent
(
QMouseEvent
*
event
)
重实现: QAbstractScrollArea::mouseReleaseEvent (QMouseEvent *e).
此函数被调用采用给定 event 当鼠标按钮被释放时,在 Widget 鼠标按下事件后。若用户在 Widget 内按下鼠标,然后将鼠标拖拽到另一位置在释放鼠标按钮前,Widget 收到释放事件。此函数会发射 clicked () 信号若项被按下。
[pure virtual protected]
QModelIndex
QAbstractItemView::
moveCursor
(
QAbstractItemView::CursorAction
cursorAction
,
Qt::KeyboardModifiers
modifiers
)
返回 QModelIndex 对象指向下一视图对象,基于给定 cursorAction 和键盘修饰符指定通过 modifiers .
在基类中,这是纯虚函数。
打开项持久编辑器在给定 index 。若不存在编辑器,委托将创建新的编辑器。
另请参阅 closePersistentEditor () 和 isPersistentEditorOpen ().
[override virtual protected]
void
QAbstractItemView::
resizeEvent
(
QResizeEvent
*
event
)
重实现: QAbstractScrollArea::resizeEvent (QResizeEvent *event).
此函数被调用采用给定 event 当重置大小事件被发送给 Widget 时。
另请参阅 QWidget::resizeEvent ().
返回模型根项的模型索引。根项是视图顶层项的父级项。根可以无效。
另请参阅 setRootIndex ().
[protected]
void
QAbstractItemView::
scheduleDelayedItemsLayout
()
调度要执行的视图项布局,当事件处理开始时。
即使在事件处理前多次调用 scheduleDelayedItemsLayout(),视图也只做一次布局。
另请参阅 executeDelayedItemsLayout ().
[protected]
void
QAbstractItemView::
scrollDirtyRegion
(
int
dx
,
int
dy
)
准备卷动视图按 ( dx , dy ) 像素通过沿相反方向移动脏区域。只需调用此函数,若在视图子类中实现卷动视口。
若实现 scrollContentsBy () 在子类化的 QAbstractItemView ,调用此函数先于调用 QWidget::scroll () 在视口。另外,仅仅调用 update ().
另请参阅 scrollContentsBy (), dirtyRegionOffset (),和 setDirtyRegion ().
[pure virtual]
void
QAbstractItemView::
scrollTo
(const
QModelIndex
&
index
,
QAbstractItemView::ScrollHint
hint
= EnsureVisible)
卷动视图,若有必要确保项在 index 可见。视图将试着定位项根据给定 hint .
在基类中,这是纯虚函数。
[virtual protected]
QModelIndexList
QAbstractItemView::
selectedIndexes
() const
此方便函数返回视图中所有选中和非隐藏项的索引列表。列表不包含重复项,且不排序。
另请参阅 QItemSelectionModel::selectedIndexes ().
[virtual protected]
QItemSelectionModel::SelectionFlags
QAbstractItemView::
selectionCommand
(const
QModelIndex
&
index
, const
QEvent
*
event
= nullptr) const
返回要使用的 SelectionFlags 当更新选定项包括 index 指定。 event 是用户输入事件 (譬如:鼠标或键盘事件)。
重实现此函数以定义自己的选择行为。
另请参阅 setSelection ().
返回当前选定模型。
另请参阅 setSelectionModel () 和 selectedIndexes ().
[protected]
void
QAbstractItemView::
setDirtyRegion
(const
QRegion
&
region
)
标记给定 region 为脏并调度它以更新。只需调用此函数,若正在实现自己的视图子类。
另请参阅 scrollDirtyRegion () 和 dirtyRegionOffset ().
设置给定 widget 对于项在给定 index ,将 Widget 的所有权传递给视口。
若 index 无效 (如:若传递根索引),此函数什么都不做。
给定 widget 's autoFillBackground 特性必须被设为 true,否则 Widget 背景将是透明的,展示模型数据和项两者在给定 index .
若以索引小部件 B 替换索引小部件 A,将删除索引小部件 A。例如,在以下代码片段中, QLineEdit 对象将被删除。
setIndexWidget(index, new QLineEdit); ... setIndexWidget(index, new QTextEdit);
此函数只应用于在数据项相应可见区域内显示静态内容。若想要显示自定义动态内容 (或实现自定义编辑器 Widget),子类 QStyledItemDelegate 代替。
另请参阅 indexWidget () 和 委托类 .
将此视图及其模型的项委托设为 delegate 。若想要完整控制项的编辑和显示,这就很有用。
任何现有委托将被移除,但不被删除。 QAbstractItemView 未拥有所有权对于 delegate .
警告: 不应该在视图之间,共享实例化的相同委托。这样做会导致不正确 (或不直观) 编辑行为,由于连接到给定委托的各视图都可以接收 closeEditor() 信号,且试图访问、修改或关闭已关闭的编辑器。
另请参阅 itemDelegate ().
设置给定项 delegate 用于此视图和模型为给定 column 。所有项对于 column 的绘制和管理将是通过 delegate 而不是使用默认委托 (即 itemDelegate ()).
任何现有列委托对于 column 会被移除,但不删除。 QAbstractItemView 未拥有所有权对于 delegate .
注意: 若委托已赋值给行和列两者,行委托优先且它会管理相交单元格索引。
警告: 不应该在视图之间,共享实例化的相同委托。这样做会导致不正确 (或不直观) 编辑行为,由于连接到给定委托的各视图都可以接收 closeEditor() 信号,且试图访问、修改或关闭已关闭的编辑器。
另请参阅 itemDelegateForColumn (), setItemDelegateForRow (),和 itemDelegate ().
设置给定项 delegate 用于此视图和模型为给定 row 。所有项对于 row 的绘制和管理将是通过 delegate 而不是使用默认委托 (即 itemDelegate ()).
任何现有行委托对于 row 会被移除,但不删除。 QAbstractItemView 未拥有所有权对于 delegate .
注意: 若委托已赋值给行和列两者,行委托 (即:此委托) 优先且它会管理相交单元格索引。
警告: 不应该在视图之间,共享实例化的相同委托。这样做会导致不正确 (或不直观) 编辑行为,由于连接到给定委托的各视图都可以接收 closeEditor() 信号,且试图访问、修改或关闭已关闭的编辑器。
另请参阅 itemDelegateForRow (), setItemDelegateForColumn (),和 itemDelegate ().
[虚拟]
void
QAbstractItemView::
setModel
(
QAbstractItemModel
*
model
)
设置 model 为要呈现视图。
此函数将创建并设置新的选定模型,替换任何先前设置的模型采用 setSelectionModel ()。不管怎样,旧选定模型不会被删除,因为它可以在几个视图之间共享。推荐删除旧选定模型,若不再需要。这的完成是采用以下代码:
QItemSelectionModel *m = view->selectionModel(); view->setModel(new model); delete m;
若旧模型和旧选定模型两者没有父级,或者若它们的父级是长期存活对象,可以首选调用它们的 deleteLater () 函数以明确删除它们。
视图 does not 拥有模型的所有权,除非它是模型的父级对象,因为模型可以在很多不同视图之间共享。
另请参阅 model (), selectionModel (),和 setSelectionModel ().
[pure virtual protected]
void
QAbstractItemView::
setSelection
(const
QRect
&
rect
,
QItemSelectionModel::SelectionFlags
flags
)
应用选定 flags 到矩形内项,或触及的通过矩形 rect .
当实现自己的项视图时,setSelection 应调用 selectionModel ()->select(selection, flags) 其中 selection 为空 QModelIndex 或 QItemSelection 其包含的所有项包含在 rect .
另请参阅 selectionCommand () 和 selectedIndexes ().
[虚拟]
void
QAbstractItemView::
setSelectionModel
(
QItemSelectionModel
*
selectionModel
)
将当前选定模型设为给定 selectionModel .
注意,若调用 setModel () 在此函数后,给定 selectionModel 将被视图创建的所替换。
注意: 直到应用程序删除它,若不再需要旧选定模型 (即:若它未用于其它视图)。这会自动发生,当删除其父级对象时。不管怎样,若它没有父级对象 (或父级是长期存活对象),首选调用其 deleteLater () 函数以明确删除它。
另请参阅 selectionModel (), setModel (),和 clearSelection ().
[protected]
void
QAbstractItemView::
setState
(
QAbstractItemView::State
state
)
将项视图的状态设为给定 state .
另请参阅 state ().
[虚拟]
int
QAbstractItemView::
sizeHintForColumn
(
int
column
) const
返回宽度大小提示为指定 column 或 -1 若没有模型。
此函数用于具有水平 Header (头) 的视图,以查找 Header (头) 区间的大小提示基于内容为给定 column .
另请参阅 sizeHintForRow ().
返回大小提示为项采用指定 index 或无效大小对于无效索引。
另请参阅 sizeHintForRow () 和 sizeHintForColumn ().
[虚拟]
int
QAbstractItemView::
sizeHintForRow
(
int
row
) const
返回高度大小提示为指定 row 或 -1 若没有模型。
返回使用大小提示计算的高度为给定 row 的项 (即:返回值是项之间的最大高度)。注意,要控制行高度,必须重实现 QAbstractItemDelegate::sizeHint () 函数。
此函数用于具有垂直 Header (头) 的视图,基于内容查找 Header (头) 区间的大小提示对于给定 row .
另请参阅 sizeHintForColumn ().
[virtual protected]
void
QAbstractItemView::
startDrag
(
Qt::DropActions
supportedActions
)
开始拖拽通过调用 drag->exec() 使用给定 supportedActions .
[protected]
QAbstractItemView::State
QAbstractItemView::
state
() const
返回项视图的状态。
另请参阅 setState ().
[override virtual protected]
void
QAbstractItemView::
timerEvent
(
QTimerEvent
*
event
)
重实现: QObject::timerEvent (QTimerEvent *event).
此函数被调用采用给定 event 当计时器事件被发送给 Widget 时。
另请参阅 QObject::timerEvent ().
[pure virtual protected]
int
QAbstractItemView::
verticalOffset
() const
返回视图的垂直偏移。
在基类中,这是纯虚函数。
另请参阅 horizontalOffset ().
[override virtual protected]
bool
QAbstractItemView::
viewportEvent
(
QEvent
*
event
)
重实现: QAbstractScrollArea::viewportEvent (QEvent *event).
此函数用于处理工具提示和 What's This? 模式,若给定 event 是 QEvent::ToolTip ,或 QEvent::WhatsThis 。它将所有其它事件传递到其基类 viewportEvent() 处理程序。
返回
true
if
event
已被识别并处理;否则,返回
false
.
[override virtual protected, since 5.2]
QSize
QAbstractItemView::
viewportSizeHint
() const
重实现: QAbstractScrollArea::viewportSizeHint () const.
该函数在 Qt 5.2 引入。
[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 ().