QAbstractItemView Class Reference

[QtGui module]

该QAbstractItemView类为项目视图类的基本功能。More…

继承QAbstractScrollArea

通过继承QColumnViewQHeaderViewQListViewQTableViewQTreeView

Types

  • enum CursorAction { MoveUp, MoveDown, MoveLeft, MoveRight, ..., MovePrevious }
  • enum DragDropMode { NoDragDrop, DragOnly, DropOnly, DragDrop, InternalMove }
  • enum DropIndicatorPosition { OnItem, AboveItem, BelowItem, OnViewport }
  • enum EditTrigger { NoEditTriggers, CurrentChanged, DoubleClicked, SelectedClicked, ..., AllEditTriggers }
  • class **[EditTriggers]($docs-index.htm)**
  • enum ScrollHint { EnsureVisible, PositionAtTop, PositionAtBottom, PositionAtCenter }
  • enum ScrollMode { ScrollPerItem, ScrollPerPixel }
  • enum SelectionBehavior { SelectItems, SelectRows, SelectColumns }
  • enum SelectionMode { NoSelection, SingleSelection, MultiSelection, ExtendedSelection, ContiguousSelection }
  • enum State { NoState, DraggingState, DragSelectingState, EditingState, ..., AnimatingState }

Methods

  • __init__ (self, QWidget parent = None)
  • bool alternatingRowColors (self)
  • int autoScrollMargin (self)
  • clearSelection (self)
  • closeEditor (self, QWidget editor, QAbstractItemDelegate.EndEditHint hint)
  • closePersistentEditor (self, QModelIndex index)
  • commitData (self, QWidget editor)
  • currentChanged (self, QModelIndex current, QModelIndex previous)
  • QModelIndex currentIndex (self)
  • dataChanged (self, QModelIndex topLeft, QModelIndex bottomRight)
  • Qt.DropAction defaultDropAction (self)
  • QPoint dirtyRegionOffset (self)
  • DragDropMode dragDropMode (self)
  • bool dragDropOverwriteMode (self)
  • bool dragEnabled (self)
  • dragEnterEvent (self, QDragEnterEvent e)
  • dragLeaveEvent (self, QDragLeaveEvent e)
  • dragMoveEvent (self, QDragMoveEvent e)
  • dropEvent (self, QDropEvent e)
  • DropIndicatorPosition dropIndicatorPosition (self)
  • edit (self, QModelIndex index)
  • bool edit (self, QModelIndex index, EditTrigger trigger, QEvent event)
  • editorDestroyed (self, QObject editor)
  • EditTriggers editTriggers (self)
  • bool event (self, QEvent event)
  • executeDelayedItemsLayout (self)
  • focusInEvent (self, QFocusEvent e)
  • bool focusNextPrevChild (self, bool next)
  • focusOutEvent (self, QFocusEvent e)
  • bool hasAutoScroll (self)
  • int horizontalOffset (self)
  • horizontalScrollbarAction (self, int action)
  • horizontalScrollbarValueChanged (self, int value)
  • ScrollMode horizontalScrollMode (self)
  • int horizontalStepsPerItem (self)
  • QSize iconSize (self)
  • QModelIndex indexAt (self, QPoint p)
  • QWidget indexWidget (self, QModelIndex index)
  • inputMethodEvent (self, QInputMethodEvent event)
  • QVariant inputMethodQuery (self, Qt.InputMethodQuery query)
  • bool isIndexHidden (self, QModelIndex index)
  • QAbstractItemDelegate itemDelegate (self)
  • QAbstractItemDelegate itemDelegate (self, QModelIndex index)
  • QAbstractItemDelegate itemDelegateForColumn (self, int column)
  • QAbstractItemDelegate itemDelegateForRow (self, int row)
  • keyboardSearch (self, QString search)
  • keyPressEvent (self, QKeyEvent e)
  • QAbstractItemModel model (self)
  • mouseDoubleClickEvent (self, QMouseEvent e)
  • mouseMoveEvent (self, QMouseEvent e)
  • mousePressEvent (self, QMouseEvent e)
  • mouseReleaseEvent (self, QMouseEvent e)
  • QModelIndex moveCursor (self, CursorAction cursorAction, Qt.KeyboardModifiers modifiers)
  • openPersistentEditor (self, QModelIndex index)
  • reset (self)
  • resizeEvent (self, QResizeEvent e)
  • QModelIndex rootIndex (self)
  • rowsAboutToBeRemoved (self, QModelIndex parent, int start, int end)
  • rowsInserted (self, QModelIndex parent, int start, int end)
  • scheduleDelayedItemsLayout (self)
  • scrollDirtyRegion (self, int dx, int dy)
  • scrollTo (self, QModelIndex index, ScrollHint hint = QAbstractItemView.EnsureVisible)
  • scrollToBottom (self)
  • scrollToTop (self)
  • selectAll (self)
  • list-of-QModelIndex selectedIndexes (self)
  • SelectionBehavior selectionBehavior (self)
  • selectionChanged (self, QItemSelection selected, QItemSelection deselected)
  • QItemSelectionModel.SelectionFlags selectionCommand (self, QModelIndex index, QEvent event = None)
  • SelectionMode selectionMode (self)
  • QItemSelectionModel selectionModel (self)
  • setAlternatingRowColors (self, bool enable)
  • setAutoScroll (self, bool enable)
  • setAutoScrollMargin (self, int margin)
  • setCurrentIndex (self, QModelIndex index)
  • setDefaultDropAction (self, Qt.DropAction dropAction)
  • setDirtyRegion (self, QRegion region)
  • setDragDropMode (self, DragDropMode behavior)
  • setDragDropOverwriteMode (self, bool overwrite)
  • setDragEnabled (self, bool enable)
  • setDropIndicatorShown (self, bool enable)
  • setEditTriggers (self, EditTriggers triggers)
  • setHorizontalScrollMode (self, ScrollMode mode)
  • setHorizontalStepsPerItem (self, int steps)
  • setIconSize (self, QSize size)
  • setIndexWidget (self, QModelIndex index, QWidget widget)
  • setItemDelegate (self, QAbstractItemDelegate delegate)
  • setItemDelegateForColumn (self, int column, QAbstractItemDelegate delegate)
  • setItemDelegateForRow (self, int row, QAbstractItemDelegate delegate)
  • setModel (self, QAbstractItemModel model)
  • setRootIndex (self, QModelIndex index)
  • setSelection (self, QRect rect, QItemSelectionModel.SelectionFlags command)
  • setSelectionBehavior (self, SelectionBehavior behavior)
  • setSelectionMode (self, SelectionMode mode)
  • setSelectionModel (self, QItemSelectionModel selectionModel)
  • setState (self, State state)
  • setTabKeyNavigation (self, bool enable)
  • setTextElideMode (self, Qt.TextElideMode mode)
  • setVerticalScrollMode (self, ScrollMode mode)
  • setVerticalStepsPerItem (self, int steps)
  • bool showDropIndicator (self)
  • int sizeHintForColumn (self, int column)
  • QSize sizeHintForIndex (self, QModelIndex index)
  • int sizeHintForRow (self, int row)
  • startDrag (self, Qt.DropActions supportedActions)
  • State state (self)
  • bool tabKeyNavigation (self)
  • Qt.TextElideMode textElideMode (self)
  • timerEvent (self, QTimerEvent e)
  • update (self)
  • update (self, QModelIndex index)
  • updateEditorData (self)
  • updateEditorGeometries (self)
  • updateGeometries (self)
  • int verticalOffset (self)
  • verticalScrollbarAction (self, int action)
  • verticalScrollbarValueChanged (self, int value)
  • ScrollMode verticalScrollMode (self)
  • int verticalStepsPerItem (self)
  • QStyleOptionViewItem viewOptions (self)
  • bool viewportEvent (self, QEvent e)
  • QRect visualRect (self, QModelIndex index)
  • QRegion visualRegionForSelection (self, QItemSelection selection)

Qt Signals

  • void activated (const QModelIndex&)
  • void clicked (const QModelIndex&)
  • void doubleClicked (const QModelIndex&)
  • void entered (const QModelIndex&)
  • void pressed (const QModelIndex&)
  • void viewportEntered ()

Detailed Description

该QAbstractItemView类为项目视图类的基本功能。

QAbstractItemView类是使用每个标准视图的基类QAbstractItemModel。 QAbstractItemView是一个抽象类,本身不能被实例化。它提供了通过信号和槽机制与模型进行交互操作,使子类必须跟上最新的变化,以他们的模型的标准接口。这个类提供了用于键盘和鼠标导航,视口滚动,项目编辑和选择标准的支持。键盘导航实现了这个功能:

Keys Functionality
Arrow keys Changes the current item and selects it.
Ctrl+Arrow keys Changes the current item but does not select it.
Shift+Arrow keys Changes the current item and selects it. The previously selected item(s) is not deselected.
Ctr+Space Toggles selection of the current item.
Tab/Backtab Changes the current item to the next/previous item.
Home/End Selects the first/last item in the model.
Page up/Page down Scrolls the rows shown up/down by the number of visible rows in the view.
Ctrl+A Selects all items in the model.

注意,上述表假设selection mode允许的操作。例如,你不能选择项目,如果选择模式为QAbstractItemView.NoSelection

该QAbstractItemView类是一个Model/View Classes并且是Qt的一部分model/view framework

继承QAbstractItemView的视图类只需要实现自己的看法特定的功能,如绘图项目,返回项目的几何形状,寻找项目,等等。

QAbstractItemView提供通用的插槽,如edit()和setCurrentIndex( ) 。还提供了许多保护的时隙,包括dataChanged( )rowsInserted( )rowsAboutToBeRemoved( )selectionChanged()和currentChanged( ) 。

根项目是由返回rootIndex() ,并且通过当前项目currentIndex( ) 。为了确保一个项目是可见的使用scrollTo( ) 。

一些QAbstractItemView的功能所关心的滚动,例如setHorizontalScrollMode()和setVerticalScrollMode( ) 。要设置滚动条的范围内,你可以,例如,重新实现视图的resizeEvent( )函数:

  1. void MyView.resizeEvent([QResizeEvent](qresizeevent.html) *event) {
  2. horizontalScrollBar()->setRange(0, realWidth - width());
  3. ...
  4. }

请注意,该区域未更新,直到小部件显示。

其他一些功能所关心的选择控制,例如setSelectionMode()和setSelectionBehavior( ) 。这个类提供了一个默认的选择模型一起工作(selectionModel() ),但是这可以通过使用代替setSelectionModel( )与实例QItemSelectionModel

有关完整的控制项的显示和编辑您可以指定一个委讬setItemDelegate( ) 。

QAbstractItemView提供了很多保护功能。一些所关注的编辑,例如,edit()和commitData( ) ,而有些则是键盘和鼠标的事件处理程序。

Note:如果你继承QAbstractItemView并打算更新视口的内容,你应该使用视口 - \u003eupdate()而不是update()因为所有的绘画操作需要视口的地方。


Type Documentation

  1. 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 移动到该项目目前的项目之前。

See also moveCursor( ) 。

  1. QAbstractItemView.DragDropMode

介绍了各种拖放事件的视图可以进行操作。默认情况下,视图不支持拖动或下降(NoDragDrop) 。

Constant Value Description
QAbstractItemView.NoDragDrop 0 不支持拖放或删除。
QAbstractItemView.DragOnly 1 该视图支持自己的物品拖动
QAbstractItemView.DropOnly 2 该视图接受滴
QAbstractItemView.DragDrop 3 该视图支持拖放
QAbstractItemView.InternalMove 4 认为接受移动(not copy)只能从本身的操作。

请注意,该模式使用需求,提供拖放操作的支持。

这个枚举被引入或修改的Qt 4.2 。

See also setDragDropMode()和Using drag and drop with item views

  1. QAbstractItemView.DropIndicatorPosition

这个枚举表示有关该指数的下降指标在当前鼠标位置的位置:

Constant Value Description
QAbstractItemView.OnItem 0 该项目将在指数下跌。
QAbstractItemView.AboveItem 1 该项目将索引上面被丢弃。
QAbstractItemView.BelowItem 2 该项目将被丢弃指数下方。
QAbstractItemView.OnViewport 3 该项目将被丢弃到视口的区域,没有项目。每个视图处理项目拖放到视口的方式取决于所使用的底层模型的行为。
  1. QAbstractItemView.EditTrigger

这个枚举变量描述了将启动项目编辑操作。

Constant Value Description
QAbstractItemView.NoEditTriggers 0 没有编辑成为可能。
QAbstractItemView.CurrentChanged 1 编辑启动时电流项的变化。
QAbstractItemView.DoubleClicked 2 编辑开始当一个项目被双击。
QAbstractItemView.SelectedClicked 4 编辑在已经选定的项目时,点击开始。
QAbstractItemView.EditKeyPressed 8 当平台的编辑键被按下了某个项目开始编辑。
QAbstractItemView.AnyKeyPressed 16 当任何键被按下了某个项目开始编辑。
QAbstractItemView.AllEditTriggers 31 编辑开始对所有上述行动。

该EditTriggers类型是一个typedef为QFlags\u003cEditTrigger\u003e 。它存储EditTrigger值的或组合。

  1. QAbstractItemView.ScrollHint
Constant Value Description
QAbstractItemView.EnsureVisible 0 滚动,以确保该项目是可见的。
QAbstractItemView.PositionAtTop 1 滚动的视口的顶部位置的项目。
QAbstractItemView.PositionAtBottom 2 滚动的视口的底部位置的项目。
QAbstractItemView.PositionAtCenter 3 滚动的视口的中心位置的项目。
  1. QAbstractItemView.ScrollMode
Constant Value Description
QAbstractItemView.ScrollPerItem 0 该视图会滚动的内容一个项目的时间。
QAbstractItemView.ScrollPerPixel 1 该视图会滚动的内容一个像素的时间。

这个枚举被引入或修改的Qt 4.2 。

  1. QAbstractItemView.SelectionBehavior
Constant Value Description
QAbstractItemView.SelectItems 0 选择单个项目。
QAbstractItemView.SelectRows 1 只选择行。
QAbstractItemView.SelectColumns 2 只选择列。
  1. QAbstractItemView.SelectionMode

这个枚举表示视图如何响应用户的选择:

Constant Value Description
QAbstractItemView.SingleSelection 1 当用户选择一个项目,任何已选定的项目变成未选中,并单击其上的用户无法取消选择所选的项目。
QAbstractItemView.ContiguousSelection 4 当用户以通常的方式选择一个项目时,该选择被清除,新的项目中选定。但是,如果用户按下Shift键的同时单击某个项目,目前的项目和被点击的项目之间的所有项目都选择或取消选择,这取决于单击项的状态。
QAbstractItemView.ExtendedSelection 3 当用户以通常的方式选择一个项目时,该选择被清除,新的项目中选定。但是,如果用户对某个项目时,点击按下Ctrl键,单击该项目被触发,其他所有项均保持不变。如果用户按下Shift键的同时单击某个项目,目前的项目和被点击的项目之间的所有项目都选择或取消选择,这取决于单击项的状态。多个项目可以通过拖动鼠标在他们被选中。
QAbstractItemView.MultiSelection 2 当用户在通常的方式选择一个项目,该项目的选择状态翻转,其他项目都单独留在家中。多个项目可以通过拖动鼠标在他们进行切换。
QAbstractItemView.NoSelection 0 项目无法选择。

最常用的方式是SingleSelection和ExtendedSelection 。

  1. QAbstractItemView.State

描述了不同状态下的视图可以是英寸重新实现自己的看法时,这通常是只有趣。

Constant Value Description
QAbstractItemView.NoState 0 的是默认状态。
QAbstractItemView.DraggingState 1 用户拖动项目。
QAbstractItemView.DragSelectingState 2 该用户选择项目的操作。
QAbstractItemView.EditingState 3 用户正在编辑一个项目中一个小部件的编辑器。
QAbstractItemView.ExpandingState 4 用户被打开的项目的一个分支。
QAbstractItemView.CollapsingState 5 该用户被关闭的项目的一个分支。
QAbstractItemView.AnimatingState 6 项目视图正在执行的动画。

Method Documentation

  1. QAbstractItemView.__init__ (self, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造一个抽象的项目视图与给定parent

  1. bool QAbstractItemView.alternatingRowColors (self)
  1. int QAbstractItemView.autoScrollMargin (self)
  1. QAbstractItemView.clearSelection (self)

这种方法也是一个Qt槽与C + +的签名void clearSelection()

取消选择所有选定的项目。当前索引将不会被改变。

See also setSelection()和selectAll( ) 。

  1. QAbstractItemView.closeEditor (self, QWidget editor, QAbstractItemDelegate.EndEditHint hint)

这种方法也是一个Qt槽与C + +的签名void closeEditor(QWidget *,QAbstractItemDelegate::EndEditHint)

关闭给定的editor,并释放它。该hint用于指定视图如何应于编辑操作结束时作出响应。例如,提示可能表明,在视图中的下一个项目应该打开进行编辑。

See also edit()和commitData( ) 。

  1. QAbstractItemView.closePersistentEditor (self, QModelIndex index)

关闭持久编辑该项目在给定的index

See also openPersistentEditor( ) 。

  1. QAbstractItemView.commitData (self, QWidget editor)

这种方法也是一个Qt槽与C + +的签名void commitData(QWidget *)

提交的资料editor到模型中。

See also closeEditor( ) 。

  1. QAbstractItemView.currentChanged (self, QModelIndex current, QModelIndex previous)

这种方法也是一个Qt槽与C + +的签名void currentChanged(const QModelIndex&,const QModelIndex&)

当一个新项目成为当前项目这个槽被调用。先前的目前的项目是由指定的previous指数,并且由新的项目current索引。

如果您想了解变更的项目看dataChanged()信号。

  1. QModelIndex QAbstractItemView.currentIndex (self)

[

返回当前项的模型索引。

]($docs-qmodelindex.html)

See also setCurrentIndex( ) 。

  1. QAbstractItemView.dataChanged (self, QModelIndex topLeft, QModelIndex bottomRight)

这种方法也是一个Qt槽与C + +的签名void dataChanged(const QModelIndex&,const QModelIndex&)

这个槽被调用时,项目模型被改变。该变更的项目是那些从topLeftbottomRight包容性。如果只有一个项目被改变topLeft==bottomRight

  1. Qt.DropAction QAbstractItemView.defaultDropAction (self)

  1. QPoint QAbstractItemView.dirtyRegionOffset (self)

[

肮脏的地区,在视图返回偏移量。

]($docs-qpoint.html)

如果你使用scrollDirtyRegion( )和实施paintEvent()中的子类QAbstractItemView,你应该翻译的Paint事件与此功能的偏移返回给定的区域。

See also scrollDirtyRegion()和setDirtyRegion( ) 。

  1. DragDropMode QAbstractItemView.dragDropMode (self)

[

  1. bool QAbstractItemView.dragDropOverwriteMode (self)
  1. bool QAbstractItemView.dragEnabled (self)
  1. QAbstractItemView.dragEnterEvent (self, QDragEnterEvent e)

]($docs-qabstractitemview.html#DragDropMode-enum)

从重新实现QWidget.dragEnterEvent( ) 。

这个函数被调用给定的event当拖放操作进入小部件。如果拖动是在一个有效的滴地方(如在接受滴的项目) ,该事件被接受,否则它将被忽略。

See also dropEvent()和startDrag( ) 。

  1. QAbstractItemView.dragLeaveEvent (self, QDragLeaveEvent e)

从重新实现QWidget.dragLeaveEvent( ) 。

这个函数被调用时,被拖动的项叶的看法。该event介绍了拖放操作的状态。

  1. QAbstractItemView.dragMoveEvent (self, QDragMoveEvent e)

从重新实现QWidget.dragMoveEvent( ) 。

此功能是与给定的连续叫event一个拖放操作在小部件中。它可以使视图的,举个例子,用户拖动鼠标选择要查看的右侧或底部边缘滚动。在这种情况下,事件将被接受,否则将被忽略。

See also dropEvent()和startDrag( ) 。

  1. QAbstractItemView.dropEvent (self, QDropEvent e)

从重新实现QWidget.dropEvent( ) 。

这个函数被调用给定的event当一个放置事件发生在窗口小部件。如果模型接受甚至定位放置事件被接受,否则它将被忽略。

See also startDrag( ) 。

  1. DropIndicatorPosition QAbstractItemView.dropIndicatorPosition (self)

[

返回相对于最接近的项目拖放指示符的位置。

这个函数是Qt 4.1中引入。

  1. QAbstractItemView.edit (self, QModelIndex index)

这种方法也是一个Qt槽与C + +的签名void edit(const QModelIndex&)

开始编辑对应于给定的产品index如果是可编辑的。

]($docs-qabstractitemview.html#DropIndicatorPosition-enum)

注意,这个函数不改变当前索引。由于目前指数定义了一个和以前的项目进行编辑,用户可能会发现,由于预期键盘导航不起作用。为了提供一致的导航行为,请致电setCurrentIndex( )这个函数有相同的模型索引之前。

See also QModelIndex.flags( ) 。

  1. bool QAbstractItemView.edit (self, QModelIndex index, EditTrigger trigger, QEvent event)

开始编辑了该项目index,如果有必要创建一个编辑器,并返回True,如果该视图的State现在是EditingState否则返回False 。

导致该编辑过程中的作用通过描述trigger以及是由指定的相关联的事件event

编辑可以通过指定强制的triggerQAbstractItemView.AllEditTriggers

See also closeEditor( ) 。

  1. QAbstractItemView.editorDestroyed (self, QObject editor)

这种方法也是一个Qt槽与C + +的签名void editorDestroyed(QObject *)

这个函数被调用的时候给出editor已被摧毁。

See also closeEditor( ) 。

  1. EditTriggers QAbstractItemView.editTriggers (self)

[

  1. bool QAbstractItemView.event (self, QEvent event)

]($docs-index.htm)

从重新实现QObject.event( ) 。

  1. QAbstractItemView.executeDelayedItemsLayout (self)

执行预定的布局,而无需等待该事件的处理开始。

See also scheduleDelayedItemsLayout( ) 。

  1. QAbstractItemView.focusInEvent (self, QFocusEvent e)

从重新实现QWidget.focusInEvent( ) 。

这个函数被调用给定的event当插件获得焦点。默认情况下,事件被忽略。

See also setFocus()和focusOutEvent( ) 。

  1. bool QAbstractItemView.focusNextPrevChild (self, bool next)

从重新实现QWidget.focusNextPrevChild( ) 。

  1. QAbstractItemView.focusOutEvent (self, QFocusEvent e)

从重新实现QWidget.focusOutEvent( ) 。

这个函数被调用给定的event当小部件失去焦点。默认情况下,事件被忽略。

See also clearFocus()和focusInEvent( ) 。

  1. bool QAbstractItemView.hasAutoScroll (self)
  1. int QAbstractItemView.horizontalOffset (self)

这种方法是抽象的,应在任何子类中重新实现。

返回水平视图的偏移量。

在基类中,这是一个纯虚函数。

See also verticalOffset( ) 。

  1. QAbstractItemView.horizontalScrollbarAction (self, int action)

这种方法也是一个Qt槽与C + +的签名void horizontalScrollbarAction(int)

  1. QAbstractItemView.horizontalScrollbarValueChanged (self, int value)

这种方法也是一个Qt槽与C + +的签名void horizontalScrollbarValueChanged(int)

  1. ScrollMode QAbstractItemView.horizontalScrollMode (self)

[

  1. int QAbstractItemView.horizontalStepsPerItem (self)

]($docs-qabstractitemview.html#ScrollMode-enum)

  1. QSize QAbstractItemView.iconSize (self)

  1. QModelIndex QAbstractItemView.indexAt (self, QPoint p)

[

这种方法是抽象的,应在任何子类中重新实现。

返回项的模型索引处的视口坐标point

在基类中,这是一个纯虚函数。

]($docs-qmodelindex.html)

See also visualRect( ) 。

  1. QWidget QAbstractItemView.indexWidget (self, QModelIndex index)

[

返回部件的项目在给定的index

这个函数是Qt 4.1中引入。

]($docs-qwidget.html)

See also setIndexWidget( ) 。

  1. QAbstractItemView.inputMethodEvent (self, QInputMethodEvent event)

从重新实现QWidget.inputMethodEvent( ) 。

  1. QVariant QAbstractItemView.inputMethodQuery (self, Qt.InputMethodQuery query)

从重新实现QWidget.inputMethodQuery( ) 。

  1. bool QAbstractItemView.isIndexHidden (self, QModelIndex index)

这种方法是抽象的,应在任何子类中重新实现。

返回True ,如果该项目由给定的简称index隐藏在视图,否则返回False 。

隐藏的是一个视图特定的功能。例如在TableView中的列可以被标记为隐藏或行中的树视图。

在基类中,这是一个纯虚函数。

  1. QAbstractItemDelegate QAbstractItemView.itemDelegate (self)

返回此视图和模型的项目委讬。这可能是一组与setItemDelegate( ) ,或默认之一。

See also setItemDelegate( ) 。

  1. QAbstractItemDelegate QAbstractItemView.itemDelegate (self, QModelIndex index)

[

返回此视图和模型对于给定的项目代表index

]($docs-qabstractitemdelegate.html)

  1. QAbstractItemDelegate QAbstractItemView.itemDelegateForColumn (self, int column)

返回此视图和模型对于给定的项目代表column。您可以致电itemDelegate()来获得一个指向当前委讬一个给定的索引。

这个函数中引入了Qt 4.2中。

See also setItemDelegateForColumn( )itemDelegateForRow()和itemDelegate( ) 。

  1. QAbstractItemDelegate QAbstractItemView.itemDelegateForRow (self, int row)

返回此视图和模型对于给定的项目代表row,或者0 ,如果没有委讬已分配。您可以致电itemDelegate()来获得一个指向当前委讬一个给定的索引。

这个函数中引入了Qt 4.2中。

See also setItemDelegateForRow( )itemDelegateForColumn()和setItemDelegate( ) 。

  1. QAbstractItemView.keyboardSearch (self, QString search)

移动到并选择最好的项目相匹配的字符串search。如果没有项目被发现没有任何反应。

在默认实现中,搜索是复位,如果search是空的,或时间间隔上次的搜索已经超过QApplication.keyboardInputInterval( ) 。

  1. QAbstractItemView.keyPressEvent (self, QKeyEvent e)

从重新实现QWidget.keyPressEvent( ) 。

这个函数被调用给定的event当一个键事件被发送给窗口小部件。默认实现处理基本的光标移动,如上,下,左,右,首页,上一页,和PageDown ;的activated如果当前索引有效和激活键被按下(例如Enter键或Return ,取决于平台) ( )信号被发射。这个功能就是编辑是由按键启动,如如果F2被按下。

See also edit( )moveCursor( )keyboardSearch()和tabKeyNavigation

  1. QAbstractItemModel QAbstractItemView.model (self)

[

返回该视图呈现模式。

]($docs-qabstractitemmodel.html)

See also setModel( ) 。

  1. QAbstractItemView.mouseDoubleClickEvent (self, QMouseEvent e)

从重新实现QWidget.mouseDoubleClickEvent( ) 。

这个函数被调用给定的event当鼠标按钮被双击的widget内点击。如果双击是一个有效的项目它发出的doubleClicked( )信号和通话edit( )上的项目。

  1. QAbstractItemView.mouseMoveEvent (self, QMouseEvent e)

从重新实现QWidget.mouseMoveEvent( ) 。

这个函数被调用给定的event当鼠标移动事件被发送给窗口小部件。如果选择是在进步和新项目移到选择是延长;如果拖动操作正在进行,它继续。

  1. QAbstractItemView.mousePressEvent (self, QMouseEvent e)

从重新实现QWidget.mousePressEvent( ) 。

这个函数被调用给定的event当按下鼠标按钮时光标在widget内。如果一个有效的项目上按下制成的当前项。此功能会发出pressed()信号。

  1. QAbstractItemView.mouseReleaseEvent (self, QMouseEvent e)

从重新实现QWidget.mouseReleaseEvent( ) 。

这个函数被调用给定的event当释放鼠标按钮,在窗口小部件鼠标按下事件后。如果用户按下你的widget里面的鼠标,然后拖动鼠标到另一个位置释放鼠标按钮之前,你的widget接收释放事件。该函数将放出clicked( )如果一个项目是被按下的信号。

  1. QModelIndex QAbstractItemView.moveCursor (self, CursorAction cursorAction, Qt.KeyboardModifiers modifiers)

[

这种方法是抽象的,应在任何子类中重新实现。

]($docs-qmodelindex.html)

返回QModelIndex对象指向在视图中的下一个对象,根据给定的cursorAction并通过指定的键盘功能键modifiers

在基类中,这是一个纯虚函数。

  1. QAbstractItemView.openPersistentEditor (self, QModelIndex index)

打开关于该项目的持续性编辑器在给定的index。如果没有编辑器存在,则委讬将创建一个新的编辑器。

See also closePersistentEditor( ) 。

  1. QAbstractItemView.reset (self)

这种方法也是一个Qt槽与C + +的签名void reset()

重置视图的内部状态。

Warning:此功能将重新打开的编辑器,滚动条的位置,选择等现有的更改将不会被提交。如果你想重置视图时,保存更改,您可以重新实现此功能,提交你的修改,然后调用父类的实现。

  1. QAbstractItemView.resizeEvent (self, QResizeEvent e)

从重新实现QWidget.resizeEvent( ) 。

这个函数被调用给定的event当resize事件被发送给窗口小部件。

See also QWidget.resizeEvent( ) 。

  1. QModelIndex QAbstractItemView.rootIndex (self)

[

返回模型的根项的模型索引。根项目是父项视图的顶层项目。根可以是无效的。

]($docs-qmodelindex.html)

See also setRootIndex( ) 。

  1. QAbstractItemView.rowsAboutToBeRemoved (self, QModelIndex parent, int start, int end)

这种方法也是一个Qt槽与C + +的签名void rowsAboutToBeRemoved(const QModelIndex&,int,int)

这个槽被调用时的行是要被去除。被删除的行是指在给定的parentstartend包容性。

See also rowsInserted( ) 。

  1. QAbstractItemView.rowsInserted (self, QModelIndex parent, int start, int end)

这种方法也是一个Qt槽与C + +的签名void rowsInserted(const QModelIndex&,int,int)

插入行时这个槽被调用。新行是指在给定的parentstartend包容性。基类实现调用fetchMore ( )在模型上,以检查更多的数据。

See also rowsAboutToBeRemoved( ) 。

  1. QAbstractItemView.scheduleDelayedItemsLayout (self)

附表的事件处理开始时要执行在视图中的项目的布局。

即使scheduleDelayedItemsLayout ( )被调用前,事件被处理多次,认为只会做布局一次。

See also executeDelayedItemsLayout( ) 。

  1. QAbstractItemView.scrollDirtyRegion (self, int dx, int dy)

准备由(视图为滚动dxdy)像素通过移动脏区在相反的方向。你只需要调用这个函数,如果你要实现一个滚动视口在你的视图子类。

如果您实现scrollContentsBy()中的子类QAbstractItemView,在打电话之前调用这个函数QWidget.scroll( )上的视口。另外,只需要调用update( ) 。

See also scrollContentsBy( )dirtyRegionOffset()和setDirtyRegion( ) 。

  1. QAbstractItemView.scrollTo (self, QModelIndex index, ScrollHint hint = QAbstractItemView.EnsureVisible)

这种方法是抽象的,应在任何子类中重新实现。

滚动的视图,如果必要,以确保在产品index是可见的。该视图将尝试根据给定定位产品hint

在基类中,这是一个纯虚函数。

  1. QAbstractItemView.scrollToBottom (self)

这种方法也是一个Qt槽与C + +的签名void scrollToBottom()

滚动视图的底部。

这个函数是Qt 4.1中引入。

See also scrollTo()和scrollToTop( ) 。

  1. QAbstractItemView.scrollToTop (self)

这种方法也是一个Qt槽与C + +的签名void scrollToTop()

滚动视图顶端。

这个函数是Qt 4.1中引入。

See also scrollTo()和scrollToBottom( ) 。

  1. QAbstractItemView.selectAll (self)

这种方法也是一个Qt槽与C + +的签名void selectAll()

选择视图中的所有项目。此功能将使用选择的行为选择时,在视图中设置。

See also setSelection( )selectedIndexes()和clearSelection( ) 。

  1. list-of-QModelIndex QAbstractItemView.selectedIndexes (self)

这个便利函数返回所有选定和非隐藏项的索引视图的列表。该列表包含没有重复,并没有排序。

See also QItemSelectionModel.selectedIndexes( ) 。

  1. SelectionBehavior QAbstractItemView.selectionBehavior (self)

[

  1. QAbstractItemView.selectionChanged (self, QItemSelection selected, QItemSelection deselected)

这种方法也是一个Qt槽与C + +的签名void selectionChanged(const QItemSelection&,const QItemSelection&)

当选择改变这个槽被调用。先前的选择(可能是空的) ,通过指定deselected,和新的选择由selected

]($docs-qabstractitemview.html#SelectionBehavior-enum)

See also setSelection( ) 。

  1. QItemSelectionModel.SelectionFlags QAbstractItemView.selectionCommand (self, QModelIndex index, QEvent event = None)

[

更新与选择要包括在返回要使用的SelectionFlags的index规定。该event是一个用户输入事件,例如鼠标或键盘事件。

重新实现这个函数来定义自己的选择行为。

]($docs-index.htm)

See also setSelection( ) 。

  1. SelectionMode QAbstractItemView.selectionMode (self)

  1. QItemSelectionModel QAbstractItemView.selectionModel (self)

[

返回当前的选择模型。

]($docs-qitemselectionmodel.html)

See also setSelectionModel()和selectedIndexes( ) 。

  1. QAbstractItemView.setAlternatingRowColors (self, bool enable)
  1. QAbstractItemView.setAutoScroll (self, bool enable)
  1. QAbstractItemView.setAutoScrollMargin (self, int margin)
  1. QAbstractItemView.setCurrentIndex (self, QModelIndex index)

这种方法也是一个Qt槽与C + +的签名void setCurrentIndex(const QModelIndex&)

设置当前项目是在该项目index

除非目前的选择模式NoSelection时,该项目也被选中。请注意,此功能也更新任何新的选择,用户执行的起始位置。

设定的项目为当前项目而不选择它,调用

selectionModel()->setCurrentIndex(index, QItemSelectionModel.NoUpdate);

See also currentIndex( )currentChanged()和selectionMode

  1. QAbstractItemView.setDefaultDropAction (self, Qt.DropAction dropAction)
  1. QAbstractItemView.setDirtyRegion (self, QRegion region)

标志着定region脏和时间表加以更新。你只需要调用这个函数,如果你要实现自己的视图子类。

这个函数是Qt 4.1中引入。

See also scrollDirtyRegion()和dirtyRegionOffset( ) 。

  1. QAbstractItemView.setDragDropMode (self, DragDropMode behavior)
  1. QAbstractItemView.setDragDropOverwriteMode (self, bool overwrite)
  1. QAbstractItemView.setDragEnabled (self, bool enable)
  1. QAbstractItemView.setDropIndicatorShown (self, bool enable)
  1. QAbstractItemView.setEditTriggers (self, EditTriggers triggers)
  1. QAbstractItemView.setHorizontalScrollMode (self, ScrollMode mode)
  1. QAbstractItemView.setHorizontalStepsPerItem (self, int steps)
  1. QAbstractItemView.setIconSize (self, QSize size)
  1. QAbstractItemView.setIndexWidget (self, QModelIndex index, QWidget widget)

widget说法有它的所有权转移给Qt的。

设置给定widget于在给定的产品index,通过widget的所有权视域。

If index无效(例如,如果您通过根指数) ,这个函数不会做任何事。

给定widgetautoFillBackground属性必须设置为True,否则widget的背景是透明的,显示出在给定两个模型数据与项目index

如果指数小部件A被替换为索引部件B,指数控件A将被删除。例如,下面的代码片段中,QLineEdit对象将被删除。

  1. setIndexWidget(index, new [QLineEdit]($docs-qlineedit.html));
  2. ...
  3. setIndexWidget(index, new [QTextEdit](qtextedit.html));

这个功能应该仅被用于对应于数据项的可见区域内显示静态内容。如果你想显示自定义的动态内容或实现自定义编辑器部件,子类QItemDelegate代替。

这个函数是Qt 4.1中引入。

See also indexWidget()和Delegate Classes

  1. QAbstractItemView.setItemDelegate (self, QAbstractItemDelegate delegate)

设置项委讬该视图及其模型delegate。如果你想完全控制了项目的编辑和显示,这是很有用的。

任何现有的委讬将被删除,但不会被删除。QAbstractItemView不采取所有权delegate

Warning:你不应该共享视图之间的委讬的同一实例。否则会导致不正确或不直观的编辑行为,因为在一个给定的委讬每个视图可能会收到closeEditor()信号,并试图访问,修改或关闭一个已经被关闭的编辑器。

See also itemDelegate( ) 。

  1. QAbstractItemView.setItemDelegateForColumn (self, int column, QAbstractItemDelegate delegate)

设置给定项目delegate使用此视图和模型对于给定的column。所有项目column将绘制和管理delegate而不是使用默认的委讬(即,itemDelegate())。

任何现有列委讬column将被删除,但不删除。QAbstractItemView不采取所有权delegate

Note:如果委讬已被分配到两个行和列,行的委讬将优先考虑和管理的交叉单元索引。

Warning:你不应该共享视图之间的委讬的同一实例。否则会导致不正确或不直观的编辑行为,因为在一个给定的委讬每个视图可能会收到closeEditor()信号,并试图访问,修改或关闭一个已经被关闭的编辑器。

这个函数中引入了Qt 4.2中。

See also itemDelegateForColumn( )setItemDelegateForRow()和itemDelegate( ) 。

  1. QAbstractItemView.setItemDelegateForRow (self, int row, QAbstractItemDelegate delegate)

设置给定项目delegate使用此视图和模型对于给定的row。所有项目row将绘制和管理delegate而不是使用默认的委讬(即,itemDelegate())。

任何现有的行委讬row将被删除,但不删除。QAbstractItemView不采取所有权delegate

Note:如果委讬已被分配到两个行和列,行委讬(即该委讬)将优先考虑和管理的交叉单元索引。

Warning:你不应该共享视图之间的委讬的同一实例。否则会导致不正确或不直观的编辑行为,因为在一个给定的委讬每个视图可能会收到closeEditor()信号,并试图访问,修改或关闭一个已经被关闭的编辑器。

这个函数中引入了Qt 4.2中。

See also itemDelegateForRow( )setItemDelegateForColumn()和itemDelegate( ) 。

  1. QAbstractItemView.setModel (self, QAbstractItemModel model)

设置model该视图呈现。

这个函数将创建并设置一个新的选择模式,取代先前设置的任何模型setSelectionModel( ) 。然而,旧的选择模型不会因为它可能被多个视图之间共享删除。我们建议您删除,如果它不再需要旧的选择模型。这样做是用下面的代码:

  1. [QItemSelectionModel]($docs-qitemselectionmodel.html) *m = view->selectionModel();
  2. view->setModel(new model);
  3. delete m;

如果两个旧的模式和旧的选择模型没有父母,或者他们的父母长期存活的对象,它可能是最好打电话到他们的deleteLater( )函数来显式地删除它们。

视图does not取模型的所有权,除非它是模型的父对象,因为该模型可以被许多不同的视图之间共享。

See also model( )selectionModel()和setSelectionModel( ) 。

  1. QAbstractItemView.setRootIndex (self, QModelIndex index)

这种方法也是一个Qt槽与C + +的签名void setRootIndex(const QModelIndex&)

根项目设置的项目在给定的index

See also rootIndex( ) 。

  1. QAbstractItemView.setSelection (self, QRect rect, QItemSelectionModel.SelectionFlags command)

这种方法是抽象的,应在任何子类中重新实现。

适用的选择flags在项目或由矩形触摸时,rect

当实现自己的ItemView控件setSelection应该调用selectionModel( ) - \u003e选择(选择,旗),其中选择要么是空的QModelIndexQItemSelection包含所包含的所有项目rect

See also selectionCommand()和selectedIndexes( ) 。

  1. QAbstractItemView.setSelectionBehavior (self, SelectionBehavior behavior)
  1. QAbstractItemView.setSelectionMode (self, SelectionMode mode)
  1. QAbstractItemView.setSelectionModel (self, QItemSelectionModel selectionModel)

设置当前选择模型给定的selectionModel

需要注意的是,如果你调用setModel( )这个函数之后,给定的selectionModel将由一个由视图中创建所取代。

Note:它是由应用程序,如果它不再需要删除旧的选择模型,也就是说,如果它不被使用的其它视图。当它的父对象被删除,这会自动发生。然而,如果它不具有父,或者如果父是一个长期存在的对象,它可能是优选的,以调用其deleteLater( )函数来显式地删除它。

See also selectionModel( )setModel()和clearSelection( ) 。

  1. QAbstractItemView.setState (self, State state)

设置项视图的状态给定的state

See also state().

  1. QAbstractItemView.setTabKeyNavigation (self, bool enable)
  1. QAbstractItemView.setTextElideMode (self, Qt.TextElideMode mode)
  1. QAbstractItemView.setVerticalScrollMode (self, ScrollMode mode)
  1. QAbstractItemView.setVerticalStepsPerItem (self, int steps)
  1. bool QAbstractItemView.showDropIndicator (self)
  1. int QAbstractItemView.sizeHintForColumn (self, int column)

返回的宽度尺寸暗示指定column或者-1,如果没有模型。

此功能用于在一个水平标题的观点找到尺寸暗示根据对给定内容的标题部分column

See also sizeHintForRow( ) 。

  1. QSize QAbstractItemView.sizeHintForIndex (self, QModelIndex index)

[

返回尺寸暗示该项目具有指定index或无效的大小无效索引。

]($docs-qsize.html)

See also sizeHintForRow()和sizeHintForColumn( ) 。

  1. int QAbstractItemView.sizeHintForRow (self, int row)

返回的高度尺寸暗示的指定row或者-1,如果没有模型。

返回的高度是用给定大小的提示计算row的项目,即返回值是项目中的最大高度。请注意,要控制一个行的高度,你必须重新实现QAbstractItemDelegate.sizeHint()函数。

此功能用于在与垂直插头观点找到尺寸暗示根据对给定内容的标题部分row

See also sizeHintForColumn( ) 。

  1. QAbstractItemView.startDrag (self, Qt.DropActions supportedActions)

使用给定的调用拖 - \u003e EXEC (启动拖动)supportedActions

  1. State QAbstractItemView.state (self)

[

返回该项目视图的状态。

]($docs-qabstractitemview.html#State-enum)

See also setState( ) 。

  1. bool QAbstractItemView.tabKeyNavigation (self)
  1. Qt.TextElideMode QAbstractItemView.textElideMode (self)

[

  1. QAbstractItemView.timerEvent (self, QTimerEvent e)

]($docs-qt.html#TextElideMode-enum)

从重新实现QObject.timerEvent( ) 。

这个函数被调用给定的event当一个计时器事件被发送给窗口小部件。

See also QObject.timerEvent( ) 。

  1. QAbstractItemView.update (self)

这种方法也是一个Qt槽与C + +的签名void update()

更新由给定的所佔据的区域index

此功能被引入Qt的4.3 。

  1. QAbstractItemView.update (self, QModelIndex index)

这种方法也是一个Qt槽与C + +的签名void update(const QModelIndex&)

  1. QAbstractItemView.updateEditorData (self)

这种方法也是一个Qt槽与C + +的签名void updateEditorData()

  1. QAbstractItemView.updateEditorGeometries (self)

这种方法也是一个Qt槽与C + +的签名void updateEditorGeometries()

  1. QAbstractItemView.updateGeometries (self)

这种方法也是一个Qt槽与C + +的签名void updateGeometries()

更新视图的子部件的几何形状。

此功能被引入Qt的4.4 。

  1. int QAbstractItemView.verticalOffset (self)

这种方法是抽象的,应在任何子类中重新实现。

返回垂直视图的偏移量。

在基类中,这是一个纯虚函数。

See also horizontalOffset( ) 。

  1. QAbstractItemView.verticalScrollbarAction (self, int action)

这种方法也是一个Qt槽与C + +的签名void verticalScrollbarAction(int)

  1. QAbstractItemView.verticalScrollbarValueChanged (self, int value)

这种方法也是一个Qt槽与C + +的签名void verticalScrollbarValueChanged(int)

  1. ScrollMode QAbstractItemView.verticalScrollMode (self)

[

  1. int QAbstractItemView.verticalStepsPerItem (self)

]($docs-qabstractitemview.html#ScrollMode-enum)

  1. QStyleOptionViewItem QAbstractItemView.viewOptions (self)

返回QStyleOptionViewItem结构填充视图的调色板,字体,状态,线路走向等。

  1. bool QAbstractItemView.viewportEvent (self, QEvent e)

从重新实现QAbstractScrollArea.viewportEvent( ) 。

这个函数是用来处理工具提示,并这是什么?模式时,如果给定的eventQEvent.ToolTipQEvent.WhatsThis。它传递给它的基类viewportEvent ()处理所有其他事件。

  1. QRect QAbstractItemView.visualRect (self, QModelIndex index)

[

这种方法是抽象的,应在任何子类中重新实现。

返回矩形上通过了该项目所佔用的视index

如果你的项目会显示在几个方面,然后visualRect应该返回一个包含索引,而不是完整的区域指数可能包括,触摸或导致绘图的主要区域。

在基类中,这是一个纯虚函数。

]($docs-qrect.html)

See also indexAt()和visualRegionForSelection( ) 。

  1. QRegion QAbstractItemView.visualRegionForSelection (self, QItemSelection selection)

[

这种方法是抽象的,应在任何子类中重新实现。

从在给定的项目的视口返回区域selection

在基类中,这是一个纯虚函数。

]($docs-qregion.html)

See also visualRect()和selectedIndexes( ) 。


Qt Signal Documentation

  1. void activated (const QModelIndex&)

这是该信号的默认超载。

当指定的项目,该信号被发射index由用户激活。如何激活项目取决于平台,例如,通过单或双击该项目,或按回车键该项目是目前的当。

See also clicked( )doubleClicked( )entered()和pressed( ) 。

  1. void clicked (const QModelIndex&)

这是该信号的默认超载。

单击鼠标按钮时,这个信号被发射。鼠标被点击的项目是由指定的index。当索引是有效的信号只发射。

See also activated( )doubleClicked( )entered()和pressed( ) 。

  1. void doubleClicked (const QModelIndex&)

这是该信号的默认超载。

当鼠标按钮被双击这个信号被发射。鼠标被双击的项目是由指定的index。当索引是有效的信号只发射。

See also clicked()和activated( ) 。

  1. void entered (const QModelIndex&)

这是该信号的默认超载。

当鼠标光标进入由指定的项目,这个信号被发射index。鼠标跟踪需要启用此功能工作。

See also viewportEntered( )activated( )clicked( )doubleClicked()和pressed( ) 。

  1. void pressed (const QModelIndex&)

这是该信号的默认超载。

当按下鼠标按键,这个信号被发射。鼠标被按下的项目是由指定的index。当索引是有效的信号只发射。

使用QApplication.mouseButtons( )函数来获得鼠标按钮的状态。

See also activated( )clicked( )doubleClicked()和entered( ) 。

  1. void viewportEntered ()

这是该信号的默认超载。

当鼠标光标进入视这个信号被发射。鼠标跟踪需要启用此功能工作。

See also entered( ) 。