Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QTreeView Class Reference
[QtGui module]

该QTreeView则类提供了一个默认的模型/视图实现树形视图中。More...

继承QAbstractItemView

通过继承QHelpContentWidgetQTreeWidget

Methods

Qt Signals


Detailed Description

该QTreeView则类提供了一个默认的模型/视图实现树形视图中。

一个QTreeView则实现了从模型项目的树表示。这个类是用来提供以前由提供的标准分层列表QListView类,但使用Qt的模型/视图结构中提供的更灵活的方法。

在QTreeView则类是一个Model/View Classes并且是Qt的一部分model/view framework

QTreeView则实现由定义的接口QAbstractItemView类以允许其显示由从派生模型提供数据QAbstractItemModel类。

它是简单的构造一个树形视图中显示从模型数据。在下面的例子中,目录中的内容是由供给QFileSystemModel并显示为一个树:

     QFileSystemModel *model = new QFileSystemModel;
     model->setRootPath(QDir.currentPath());
     QTreeView *tree = new QTreeView(splitter);
     tree->setModel(model);

该模型/视图结构保证了树视图中的内容被更新模型的变化。

有孩子的项目可以在一个扩展的(孩子是可见的)或折叠(隐藏子项)的状态。在这种状态下改变了collapsed()或expanded()信号被发射的相关项的模型索引。

在用来表示层次结构级别的缩进量由控制indentation属性。

在树视图标头使用的构造QHeaderView类,并且可以使用被隐藏header()->hide()。请注意,每个头被配置成与它的stretchLastSection属性设置为True ,以确保该视图不会浪费任何分配给它,它的头部空间。如果这个值被设置为True ,则此属性将复盖调整大小模式标头中的最后一节设置。

Key Bindings

QTreeView则支持一组键绑定,使用户能够在浏览视图,并与项目的内容进行交互的:

Key Action
Up Moves the cursor to the item in the same column on the previous row. If the parent of the current item has no more rows to navigate to, the cursor moves to the relevant item in the last row of the sibling that precedes the parent.
Down Moves the cursor to the item in the same column on the next row. If the parent of the current item has no more rows to navigate to, the cursor moves to the relevant item in the first row of the sibling that follows the parent.
Left Hides the children of the current item (if present) by collapsing a branch.
Minus Same as LeftArrow.
Right Reveals the children of the current item (if present) by expanding a branch.
Plus Same as RightArrow.
Asterisk Expands all children of the current item (if present).
PageUp Moves the cursor up one page.
PageDown Moves the cursor down one page.
Home Moves the cursor to an item in the same column of the first row of the first top-level item in the model.
End Moves the cursor to an item in the same column of the last row of the last top-level item in the model.
F2 In editable models, this opens the current item for editing. The Escape key can be used to cancel the editing process and revert any changes to the data displayed.
Screenshot of a Windows XP style tree view Screenshot of a Macintosh style tree view Screenshot of a Plastique style tree view
A Windows XP style tree view. A Macintosh style tree view. A Plastique style tree view.

Improving Performance

它可以给出关于它正在处理,以便显示大量项目时,以改善其性能的数据的视图的提示。可以采取一种方法对于旨在与高度相等显示项目的观点是设置uniformRowHeights属性设置为True 。


Method Documentation

QTreeView.__init__ (self, QWidget parent = None)

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

构造一个树视图与parent来表示模型的数据。使用setModel()来设定模型。

See also QAbstractItemModel

bool QTreeView.allColumnsShowFocus (self)

int QTreeView.autoExpandDelay (self)

QTreeView.collapse (self, QModelIndex index)

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

折叠由指定的模型项目index

See also collapsed( ) 。

QTreeView.collapseAll (self)

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

折叠所有展开的项目。

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

See also expandAll( )expand( )collapse()和setExpanded( ) 。

int QTreeView.columnAt (self, int x)

返回在树视图中的列,其标题复盖x坐标给出。

QTreeView.columnCountChanged (self, int oldCount, int newCount)

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

通知树视图中的树视图中的列数已经从oldCountnewCount

QTreeView.columnMoved (self)

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

这个槽被调用,每当一列已被移动。

QTreeView.columnResized (self, int column, int oldSize, int newSize)

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

这个函数被调用时column的大小在头改变。oldSizenewSize给先前的大小和新的像素大小。

See also setColumnWidth( ) 。

int QTreeView.columnViewportPosition (self, int column)

返回的水平位置column在视口中。

int QTreeView.columnWidth (self, int column)

返回的宽度column

See also resizeColumnToContents()和setColumnWidth( ) 。

QTreeView.currentChanged (self, QModelIndex current, QModelIndex previous)

从重新实现QAbstractItemView.currentChanged( ) 。

QTreeView.dataChanged (self, QModelIndex topLeft, QModelIndex bottomRight)

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

从重新实现QAbstractItemView.dataChanged( ) 。

QTreeView.dragMoveEvent (self, QDragMoveEvent event)

从重新实现QWidget.dragMoveEvent( ) 。

QTreeView.drawBranches (self, QPainter painter, QRect rect, QModelIndex index)

绘制树枝在树视图中的同一行的模型项目index使用painter给出。该分支绘制由指定的矩形rect

QTreeView.drawRow (self, QPainter painter, QStyleOptionViewItem options, QModelIndex index)

在绘制包含模型项树视图中的列index使用painter给出。该option控制如何显示该项目。

See also setAlternatingRowColors( ) 。

QTreeView.drawTree (self, QPainter painter, QRegion region)

绘制树的相交给定的部分region使用指定的painter

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

See also paintEvent( ) 。

QTreeView.expand (self, QModelIndex index)

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

扩大由指定的模型项目index

See also expanded( ) 。

QTreeView.expandAll (self)

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

展开所有扩展项目。

警告:如果模型中包含了大量的项目,此功能需要一定的时间来执行。

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

See also collapseAll( )expand( )collapse()和setExpanded( ) 。

bool QTreeView.expandsOnDoubleClick (self)

QTreeView.expandToDepth (self, int depth)

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

展开所有的项目扩展到给定depth

此功能被引入Qt的4.3 。

See also expandAll( )collapseAll( )expand( )collapse()和setExpanded( ) 。

QHeaderView QTreeView.header (self)

返回树状视图的标题。

See also setHeader()和QAbstractItemModel.headerData( ) 。

QTreeView.hideColumn (self, int column)

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

隐藏column给出。

Note:此功能只应调用该模型已被初始化后,如认为需要知道为了隐藏列数column

See also showColumn()和setColumnHidden( ) 。

int QTreeView.horizontalOffset (self)

从重新实现QAbstractItemView.horizontalOffset( ) 。

返回水平的树形视图中的项目所抵销。

需要注意的是树视图使用水平标题部分的位置来确定的列在视图中的位置。

See also verticalOffset( ) 。

QTreeView.horizontalScrollbarAction (self, int action)

int QTreeView.indentation (self)

QModelIndex QTreeView.indexAbove (self, QModelIndex index)

返回上述项目的模型索引index

QModelIndex QTreeView.indexAt (self, QPoint p)

从重新实现QAbstractItemView.indexAt( ) 。

QModelIndex QTreeView.indexBelow (self, QModelIndex index)

返回下面的项的模型索引index

int QTreeView.indexRowSizeHint (self, QModelIndex index)

返回尺寸暗示由指定的行index

See also sizeHintForColumn()和uniformRowHeights( ) 。

bool QTreeView.isAnimated (self)

bool QTreeView.isColumnHidden (self, int column)

返回True如果column被隐藏,否则返回False 。

See also hideColumn()和isRowHidden( ) 。

bool QTreeView.isExpanded (self, QModelIndex index)

返回True如果模型项目index为扩大;否则返回False。

See also expand( )expanded()和setExpanded( ) 。

bool QTreeView.isFirstColumnSpanned (self, int row, QModelIndex parent)

返回True如果在给定的第一列中的项rowparent是跨越所有的列,否则返回False 。

此功能被引入Qt的4.3 。

See also setFirstColumnSpanned( ) 。

bool QTreeView.isHeaderHidden (self)

bool QTreeView.isIndexHidden (self, QModelIndex index)

从重新实现QAbstractItemView.isIndexHidden( ) 。

bool QTreeView.isRowHidden (self, int row, QModelIndex parent)

返回True如果该项目在给定rowparent被隐藏,否则返回False 。

See also setRowHidden()和isColumnHidden( ) 。

bool QTreeView.isSortingEnabled (self)

bool QTreeView.itemsExpandable (self)

QTreeView.keyboardSearch (self, QString search)

从重新实现QAbstractItemView.keyboardSearch( ) 。

QTreeView.keyPressEvent (self, QKeyEvent event)

从重新实现QWidget.keyPressEvent( ) 。

QTreeView.mouseDoubleClickEvent (self, QMouseEvent e)

从重新实现QWidget.mouseDoubleClickEvent( ) 。

QTreeView.mouseMoveEvent (self, QMouseEvent event)

从重新实现QWidget.mouseMoveEvent( ) 。

QTreeView.mousePressEvent (self, QMouseEvent e)

从重新实现QWidget.mousePressEvent( ) 。

QTreeView.mouseReleaseEvent (self, QMouseEvent event)

从重新实现QWidget.mouseReleaseEvent( ) 。

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

从重新实现QAbstractItemView.moveCursor( ) 。

移动光标在所描述的方式cursorAction使用由按键提供的信息modifiers

QTreeView.paintEvent (self, QPaintEvent e)

从重新实现QWidget.paintEvent( ) 。

QTreeView.reexpand (self)

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

QTreeView.reset (self)

从重新实现QAbstractItemView.reset( ) 。

QTreeView.resizeColumnToContents (self, int column)

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

在调整大小column提供给它的内容的大小。

See also columnWidth()和setColumnWidth( ) 。

bool QTreeView.rootIsDecorated (self)

int QTreeView.rowHeight (self, QModelIndex index)

返回该行的由给定的表示的高度index

此功能被引入Qt的4.3 。

See also indexRowSizeHint( ) 。

QTreeView.rowsAboutToBeRemoved (self, QModelIndex parent, int start, int end)

从重新实现QAbstractItemView.rowsAboutToBeRemoved( ) 。

通知认为,从行start排在end行所包含的是关于从给定的删除parent模型项目。

QTreeView.rowsInserted (self, QModelIndex parent, int start, int end)

从重新实现QAbstractItemView.rowsInserted( ) 。

通知认为,从行start排在end行包已被插入到parent模型项目。

QTreeView.rowsRemoved (self, QModelIndex parent, int first, int last)

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

通知认为,从行start排在end行包被从给定的删除parent模型项目。

这个函数是Qt 4.1中引入。

QTreeView.scrollContentsBy (self, int dx, int dy)

从重新实现QAbstractScrollArea.scrollContentsBy( ) 。

由(滚动树视图中的内容dxdy) 。

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

从重新实现QAbstractItemView.scrollTo( ) 。

滚动树视图中的内容,直到给定的模型项目index是可见的。该hint参数指定更精确而该项目应位于操作之后。如果任何模型项的父母都崩溃了,他们将扩大,以确保模型项目是可见的。

QTreeView.selectAll (self)

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

从重新实现QAbstractItemView.selectAll( ) 。

list-of-QModelIndex QTreeView.selectedIndexes (self)

从重新实现QAbstractItemView.selectedIndexes( ) 。

QTreeView.selectionChanged (self, QItemSelection selected, QItemSelection deselected)

从重新实现QAbstractItemView.selectionChanged( ) 。

QTreeView.setAllColumnsShowFocus (self, bool enable)

QTreeView.setAnimated (self, bool enable)

QTreeView.setAutoExpandDelay (self, int delay)

QTreeView.setColumnHidden (self, int column, bool hide)

If hide是真实的column是隐藏的,否则,column示。

See also isColumnHidden( )hideColumn()和setRowHidden( ) 。

QTreeView.setColumnWidth (self, int column, int width)

设定的给定的宽度columnwidth规定。

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

See also columnWidth()和resizeColumnToContents( ) 。

QTreeView.setExpanded (self, QModelIndex index, bool expand)

设置项转交index要么崩溃或膨胀,这取决于的值expanded

See also expanded( )expand()和isExpanded( ) 。

QTreeView.setExpandsOnDoubleClick (self, bool enable)

QTreeView.setFirstColumnSpanned (self, int row, QModelIndex parent, bool span)

If span是真正的产品中的第一列row用给定的parent设置为跨越所有列,否则,所有的项目row示。

此功能被引入Qt的4.3 。

See also isFirstColumnSpanned( ) 。

QTreeView.setHeader (self, QHeaderView header)

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

设置树视图的标题,给定header

该视图取得所有权在给定header并删除它,当一个新的头被设置。

See also QAbstractItemModel.headerData( ) 。

QTreeView.setHeaderHidden (self, bool hide)

QTreeView.setIndentation (self, int i)

QTreeView.setItemsExpandable (self, bool enable)

QTreeView.setModel (self, QAbstractItemModel model)

从重新实现QAbstractItemView.setModel( ) 。

QTreeView.setRootIndex (self, QModelIndex index)

从重新实现QAbstractItemView.setRootIndex( ) 。

QTreeView.setRootIsDecorated (self, bool show)

QTreeView.setRowHidden (self, int row, QModelIndex parent, bool hide)

If hide是真实的row用给定的parent是隐藏的,否则,row示。

See also isRowHidden()和setColumnHidden( ) 。

QTreeView.setSelection (self, QRect rect, QItemSelectionModel.SelectionFlags command)

从重新实现QAbstractItemView.setSelection( ) 。

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

See also selectionCommand( ) 。

QTreeView.setSelectionModel (self, QItemSelectionModel selectionModel)

从重新实现QAbstractItemView.setSelectionModel( ) 。

QTreeView.setSortingEnabled (self, bool enable)

QTreeView.setUniformRowHeights (self, bool uniform)

QTreeView.setWordWrap (self, bool on)

QTreeView.showColumn (self, int column)

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

显示了给定的column在树视图中。

See also hideColumn()和setColumnHidden( ) 。

int QTreeView.sizeHintForColumn (self, int column)

从重新实现QAbstractItemView.sizeHintForColumn( ) 。

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

如果你需要一个给定列的宽度设置为一个固定值,调用QHeaderView.resizeSection( )在视图的标题。

如果在子类中重新实现这个功能,请注意您返回值时只使用resizeColumnToContents()被调用。在这种情况下,如果一个更大的列宽,需要通过两种视图的页眉或项目委讬,该宽度将被代替使用。

See also QWidget.sizeHintheader( ) 。

QTreeView.sortByColumn (self, int column)

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

设定模型向上通过在给定的值进行排序columnorder

column可能是-1 ,在这种情况下,不排序指示器将显示与该模型将回到它的自然,未排序的顺序。请注意,并非所有型号都支持这一点,甚至可能会崩溃在这种情况下。

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

See also sortingEnabled

QTreeView.sortByColumn (self, int column, Qt.SortOrder order)

QTreeView.timerEvent (self, QTimerEvent event)

从重新实现QObject.timerEvent( ) 。

bool QTreeView.uniformRowHeights (self)

QTreeView.updateGeometries (self)

从重新实现QAbstractItemView.updateGeometries( ) 。

int QTreeView.verticalOffset (self)

从重新实现QAbstractItemView.verticalOffset( ) 。

返回垂直的树视图中项目的偏移。

See also horizontalOffset( ) 。

bool QTreeView.viewportEvent (self, QEvent event)

从重新实现QAbstractScrollArea.viewportEvent( ) 。

QRect QTreeView.visualRect (self, QModelIndex index)

从重新实现QAbstractItemView.visualRect( ) 。

返回矩形上通过了该项目所佔用的视index。如果索引不可见或隐藏明确,返回的矩形是无效的。

QRegion QTreeView.visualRegionForSelection (self, QItemSelection selection)

从重新实现QAbstractItemView.visualRegionForSelection( ) 。

从在给定的项目的视口返回矩形selection

由于4.7 ,返回的区域仅包含矩形相交(或计入)的视口。

bool QTreeView.wordWrap (self)


Qt Signal Documentation

void collapsed (const QModelIndex&)

这是该信号的默认超载。

当指定的项目,该信号被发射index已展开。

void expanded (const QModelIndex&)

这是该信号的默认超载。

当指定的项目,该信号被发射index已展开。

See also setExpanded( ) 。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5