- 36
- 0
- 约1.33万字
- 约 12页
- 2016-08-19 发布于河南
- 举报
QAbstractItemView
QAbstractItemView
描述:
QAbstractItemView 为所有的视图项提供了基础的功能。
QAbstractItemView是所有的使用QAbstractItemModel模型的视图的基类,是一个不能被实例化的抽象类。它通过信号槽机制为与模型的交互操作提供了一个标准化的接口,确保子类视图能够随着模型的变化而及时更新。该类对键盘和鼠标的导航、视窗的滚动、项的编辑以及选择提供了标准的支持。键盘导航实现了如下的功能:
Keys Functionality Arrow keys 改变当前的项并且选中它 Ctrl+Arrow keys 改变当前的项但是不选中它 Shift+Arrow keys 改变当前的项并且选中它 而且之前选中的项不会被取消选中 Ctr+Space Toggles selection of the current item. Tab/Backtab 讲当前项设置为前一个或者后一个。 Home/End 选择模型中的第一个或者最后一个项。 Page up/Page down 滚动当前的项到在原来视图不可见的下一页或者上一页 Ctrl+A 选择所有的项 (注意:上表是在假设selection mode 允许操作的基础上的,比如说 如果selection mode是 QAbstractItemView::NoSelection的时候 上表就失效了。)
当视图项继承自QAbstractItemView时 只需要实现他们需要的特定的功能就行了。
To make sure that an item is visible use scrollTo().
QAbstractItemView 的一些函数关注于滚动上,比如 setHorizontalScrollMode() 和 setVerticalScrollMode() ;另外一些函数关注与选择模式,比如说 setSelectionMode(), 和setSelectionBehavior()。
为了完全的控制项的显示和编辑,可以通过 setItemDelegate().函数设定一个委托。
注意:当一个继承自?QAbstractItemView的对象想要更新视口里的内容时 应该使用 viewport-update() 而不是update()函数 因为所有的绘制操作都发生在视口中。
属性:
enum QAbstractItemView::?CursorAction
该属性描述了不同项之间的导航方式。
Constant Value Description 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 将项移动到当前项之前
enum QAbstractItemView::?DragDropMode
该属性包含了项能对dragEvent 和dropEvent做出的回应。默认情况下是不能回应(NoDragDrop)。
Constant Value Description QAbstractItemView::NoDragDrop 0 不支持拖拽和放置。. QAbstractItemView::DragOnly 1 只支持拖拽 QAbstractItemView::DropOnly 2 只接受放置 QAbstractItemView::DragDrop 3 支持拖拽和放下 QAbstractItemView::InternalMove 4 只接受自己的移动(不是复制)
enum QAbstractItemView::?DropIndicatorPosition
该属性描述了放置指示器和当前鼠标位置的关系。
Constant Value Description QAbstractItemView::OnIt
原创力文档

文档评论(0)