QAbstractItemView
描述:
QAbstractItemView 为所有的视图项提供了基础的功能。
QAbstractItemView是所有的使用QAbstractItemModel模型的视图的基类,是一个不能被实例化的抽象类。它通过信号槽机制为与模型的交互操作提供了一个标准化的接口,确保子类视图能够随着模型的变化而及时更新。该类对键盘和鼠标的导航、视窗的滚动、项的编辑以及选择提供了标准的支持。键盘导航实现了如下的功能:
(注意:上表是在假设selectionmode 允许操作的基础上的,比如说 如果selection mode是 QAbstractItemView::NoSelection的时候 上表就失效了。)
当视图项继承自QAbstractItemView时 只需要实现他们需要的特定的功能就行了。
To make sure that an item is visible usescrollTo().
QAbstractItemView 的一些函数关注于滚动上,比如setHorizontalScrollMode() 和 setVerticalScrollMode() ;另外一些函数关注与选择模式,比如说 setSelectionMode(), 和setSelectionBehavior()。
为了完全的控制项的显示和编辑,可以通过 setItemDelegate().函数设定一个委托。
注意:当一个继承自 QAbstractItemView的对象想要更新视口里的内容时 应该使用 viewport->update() 而不是update()函数 因为所有的绘制操作都发生在视口中。
属性:
enum QAbstractItemView::CursorAction
该属性描述了不同项之间的导航方式。
enum QAbstractItemView::DragDropMode
该属性包含了项能对dragEvent 和dropEvent做出的回应。默认情况下是不能回应(NoDragDrop)。
enum QAbstractItemView::DropIndicatorPosition
该属性描述了放置指示器和当前鼠标位置的关系。
enum QAbstractItemView::EditTrigger
该属性描述了什么action会启动项编辑
enum QAbstractItemView::ScrollHint
enum QAbstractItemView::ScrollMode
enum QAbstractItemView::SelectionBehavior
enum QAbstractItemView::SelectionMode
enum QAbstractItemView::State
该属性描述了项的不同的状态。
alternatingRowColors : bool
该属性描述了是否对背景应用交替的颜色。
如果该属性是true的话,就使用 QPalette::Base 和QPalette::Al