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

QTreeWidget Class Reference
[QtGui module]

该QTreeWidget类提供了使用预定义树模型的树视图。More...

继承QTreeView

Methods

Qt Signals


Detailed Description

该QTreeWidget类提供了使用预定义树模型的树视图。

该QTreeWidget类是一个方便的类,它提供了一个标准的树部件采用了经典的基于项目的界面相似,所使用的QListView类的Qt 3 。每一个这个类是基于Qt的模型/视图结构,并使用默认的模型来保存项目,是一个QTreeWidgetItem

开发商谁也不需要的模型/视图框架的灵活性,可以使用这个类来很容易地创建简单的层次结构列表。更灵活的方法涉及一个组合QTreeView与标准的项目模型。这使得数据的存储也可以从它的表示分离。

在其最简单的形式,树控件可以通过以下方式构造:

 QTreeWidget *treeWidget = new QTreeWidget();
 treeWidget->setColumnCount(1);
 QList<QTreeWidgetItem *> items;
 for (int i = 0; i < 10; ++i)
     items.append(new QTreeWidgetItem((QTreeWidget*)0, QStringList(QString("item: %1").arg(i))));
 treeWidget->insertTopLevelItems(0, items);

前项可被添加到树部件,列的数目必须与设置setColumnCount( ) 。这允许每个产品有一个或多个标籤或其它装饰。在使用列数可以与被发现columnCount()函数。

树可以有一个包含部分在widget每列的标题。这是最简单的通过提供一个字符串列表来设置每个部分的标籤setHeaderLabels( ) ,但自定义标题可以与构造QTreeWidgetItem和插入到与树setHeaderItem()函数。

在树中的项目可以按列根据预定义的排序顺序进行排序。如果排序时启用,用户可以通过单击列标题中的项目进行排序。排序可以启用或禁用通过调用setSortingEnabled()。该isSortingEnabled()功能指示排序是否已启用。

Screenshot of a Windows XP style tree widget Screenshot of a Macintosh style tree widget Screenshot of a Plastique style tree widget
A Windows XP style tree widget. A Macintosh style tree widget. A Plastique style tree widget.

Method Documentation

QTreeWidget.__init__ (self, QWidget parent = None)

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

构造一个树形控件与给定parent

QTreeWidget.addTopLevelItem (self, QTreeWidgetItem item)

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

追加item如在小部件的顶级项目。

这个函数是Qt 4.1中引入。

See also insertTopLevelItem( ) 。

QTreeWidget.addTopLevelItems (self, list-of-QTreeWidgetItem items)

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

附加列表items如在小部件的顶级项目。

See also insertTopLevelItems( ) 。

QTreeWidget.clear (self)

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

通过删除所有的项目,并选择清除树部件。

Note:由于每个项目被删除之前从树控件中删除,返回值QTreeWidgetItem.treeWidget( )将是无效的从一个项目的析构函数被调用时。

See also takeTopLevelItem( )topLevelItemCount()和columnCount( ) 。

QTreeWidget.closePersistentEditor (self, QTreeWidgetItem item, int column = 0)

关闭持久编辑的item在给定的column

这个功能有没有影响,如果没有持续的编辑器打开的项目和柱的结合。

See also openPersistentEditor( ) 。

QTreeWidget.collapseItem (self, QTreeWidgetItem item)

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

关闭item。这会导致崩溃了包含该项目的子项的树。

See also expandItem( )currentItem( )itemAt()和topLevelItem( ) 。

int QTreeWidget.columnCount (self)

int QTreeWidget.currentColumn (self)

返回在树插件的当前列。

这个函数是Qt 4.1中引入。

See also setCurrentItem()和columnCount( ) 。

QTreeWidgetItem QTreeWidget.currentItem (self)

返回在树插件的当前项。

See also setCurrentItem()和currentItemChanged( ) 。

QTreeWidget.dropEvent (self, QDropEvent event)

从重新实现QWidget.dropEvent( ) 。

bool QTreeWidget.dropMimeData (self, QTreeWidgetItem parent, int index, QMimeData data, Qt.DropAction action)

处理data通过拖放操作,与给定的供给结束actionindex在给定的parent项目。

默认实现返回True,如果下跌是由解码MIME数据并将其插入到模型成功地处理,否则返回False 。

See also supportedDropActions( ) 。

QTreeWidget.editItem (self, QTreeWidgetItem item, int column = 0)

开始编辑item在给定的column如果是可编辑的。

bool QTreeWidget.event (self, QEvent e)

从重新实现QObject.event( ) 。

QTreeWidget.expandItem (self, QTreeWidgetItem item)

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

扩展item。这会导致扩大了包含该项目的子项的树。

See also collapseItem( )currentItem( )itemAt( )topLevelItem()和itemExpanded( ) 。

list-of-QTreeWidgetItem QTreeWidget.findItems (self, QString text, Qt.MatchFlags flags, int column = 0)

返回匹配给定的项目清单text,使用给定的flags在给定的column

QTreeWidgetItem QTreeWidget.headerItem (self)

返回用于树部件的头的项目。

See also setHeaderItem( ) 。

QModelIndex QTreeWidget.indexFromItem (self, QTreeWidgetItem item, int column = 0)

返回QModelIndexassocated用给定的item在给定的column

See also itemFromIndex()和topLevelItem( ) 。

int QTreeWidget.indexOfTopLevelItem (self, QTreeWidgetItem item)

返回给定的顶层的索引item,或-1,如果项目无法找到。

See also sortItems()和topLevelItemCount( ) 。

QTreeWidget.insertTopLevelItem (self, int index, QTreeWidgetItem item)

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

插入itemindex在视图中的顶级水准。

如果该项目已被插入别的地方它不会被插入。

See also addTopLevelItem()和columnCount( ) 。

QTreeWidget.insertTopLevelItems (self, int index, list-of-QTreeWidgetItem items)

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

插入列表itemsindex在视图中的顶级水准。

那些已经被插入其他地方的项目不会被插入。

这个函数是Qt 4.1中引入。

See also addTopLevelItems( ) 。

QTreeWidgetItem QTreeWidget.invisibleRootItem (self)

返回树部件的无形之根项目。

看不见的根项目,通过提供对树控件的顶级项目QTreeWidgetItem的API ,从而可以写,可以治疗顶级项目和他们的孩子在一个统一的方式的功能,例如,递归函数。

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

bool QTreeWidget.isFirstItemColumnSpanned (self, QTreeWidgetItem item)

返回True如果给定的item被设置为只显示一个对所有列部分,否则返回False 。

此功能被引入Qt的4.3 。

See also setFirstItemColumnSpanned( ) 。

bool QTreeWidget.isItemExpanded (self, QTreeWidgetItem item)

bool QTreeWidget.isItemHidden (self, QTreeWidgetItem item)

bool QTreeWidget.isItemSelected (self, QTreeWidgetItem item)

bool QTreeWidget.isSortingEnabled (self)

QTreeWidgetItem QTreeWidget.itemAbove (self, QTreeWidgetItem item)

返回上面给定的项目item

此功能被引入Qt的4.3 。

QTreeWidgetItem QTreeWidget.itemAt (self, QPoint p)

返回一个指针,指向了该项目的坐标p。该坐标是相对于树部件的viewport()

See also visualItemRect( ) 。

QTreeWidgetItem QTreeWidget.itemAt (self, int ax, int ay)

这是一个重载函数。

返回一个指向该项目在坐标(xy) 。该坐标是相对于树部件的viewport()

QTreeWidgetItem QTreeWidget.itemBelow (self, QTreeWidgetItem item)

返回目视低于给定的产品item

此功能被引入Qt的4.3 。

QTreeWidgetItem QTreeWidget.itemFromIndex (self, QModelIndex index)

返回一个指针QTreeWidgetItemassocated用给定的index

See also indexFromItem( ) 。

list-of-QTreeWidgetItem QTreeWidget.items (self, QMimeData data)

QWidget QTreeWidget.itemWidget (self, QTreeWidgetItem item, int column)

返回由指定的单元格中显示的小工具item和给定的column

Note:树取小部件的所有权。

这个函数是Qt 4.1中引入。

See also setItemWidget( ) 。

QMimeData QTreeWidget.mimeData (self, list-of-QTreeWidgetItem items)

QMimeData结果

返回一个对象,该对象包含指定的序列化描述items。用于描述的项目的格式是从所获得的mimeTypes()函数。

如果项目列表为空,则返回0 ,而不是一个序列化的空单。

QStringList QTreeWidget.mimeTypes (self)

返回可用于描述treewidget项目清单的MIME类型的列表。

See also mimeData( ) 。

QTreeWidget.openPersistentEditor (self, QTreeWidgetItem item, int column = 0)

打开一个持久的编辑为item在给定的column

See also closePersistentEditor( ) 。

QTreeWidget.removeItemWidget (self, QTreeWidgetItem item, int column)

删除给定的窗口部件集item在给定的column

此功能被引入Qt的4.3 。

QTreeWidget.scrollToItem (self, QTreeWidgetItem item, QAbstractItemView.ScrollHint hint = QAbstractItemView.EnsureVisible)

这种方法也是一个Qt槽与C + +的签名void scrollToItem(const QTreeWidgetItem *,QAbstractItemView::ScrollHint = QAbstractItemView.EnsureVisible)

确保了item是可见的,滚动的视图,如果必要使用指定的hint

See also currentItem( )itemAt()和topLevelItem( ) 。

list-of-QTreeWidgetItem QTreeWidget.selectedItems (self)

返回所有选定的非隐藏物品的清单。

See also itemSelectionChanged( ) 。

QTreeWidget.setColumnCount (self, int columns)

QTreeWidget.setCurrentItem (self, QTreeWidgetItem item)

设置当前item树部件。

除非选择模式为NoSelection时,该项目也被选中。

See also currentItem()和currentItemChanged( ) 。

QTreeWidget.setCurrentItem (self, QTreeWidgetItem item, int column)

设置当前item在树控件和当前列column

这个函数是Qt 4.1中引入。

See also currentItem( ) 。

QTreeWidget.setCurrentItem (self, QTreeWidgetItem item, int column, QItemSelectionModel.SelectionFlags command)

设置当前item在树控件和当前列column,使用给定的command

此功能被引入Qt的4.4 。

See also currentItem( ) 。

QTreeWidget.setFirstItemColumnSpanned (self, QTreeWidgetItem item, bool span)

设置给定item只显示一个区段的所有列,如果span是真的,否则项目会显示每列一个部分。

此功能被引入Qt的4.3 。

See also isFirstItemColumnSpanned( ) 。

QTreeWidget.setHeaderItem (self, QTreeWidgetItem item)

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

设置页眉item为树部件。的标籤在报头的每个列是由对应的标籤的产品供给。

树部件采用该项目的所有权。

See also headerItem()和setHeaderLabels( ) 。

QTreeWidget.setHeaderLabel (self, QString alabel)

同setHeaderLabels (QStringListlabel))。

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

QTreeWidget.setHeaderLabels (self, QStringList labels)

添加一列在每个项目的头labels列出,并设置标籤为每一列。

需要注意的是setHeaderLabels ( )不会删除现有列。

See also setHeaderItem()和setHeaderLabel( ) 。

QTreeWidget.setItemExpanded (self, QTreeWidgetItem item, bool expand)

QTreeWidget.setItemHidden (self, QTreeWidgetItem item, bool hide)

QTreeWidget.setItemSelected (self, QTreeWidgetItem item, bool select)

QTreeWidget.setItemWidget (self, QTreeWidgetItem item, int column, QWidget widget)

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

设置给定widget要显示在由给定的指定的单元itemcolumn

给定widgetautoFillBackground属性必须设置为True,否则widget的背景是透明的,同时显示模型数据和树部件项目。

此功能只能用于显示在一个树控件选项的位置静态内容。如果你想显示自定义的动态内容或实现自定义编辑器部件,使用QTreeView和子类QItemDelegate代替。

这个函数不能被调用之前,该项目的层次结构已经成立,即QTreeWidgetItem将举行widget必须被添加到视图之前widget被设置。

Note:树取小部件的所有权。

这个函数是Qt 4.1中引入。

See also itemWidget()和Delegate Classes

QTreeWidget.setSelectionModel (self, QItemSelectionModel selectionModel)

从重新实现QAbstractItemView.setSelectionModel( ) 。

QTreeWidget.setSortingEnabled (self, bool enable)

int QTreeWidget.sortColumn (self)

返回用于widget的内容进行排序的列。

这个函数是Qt 4.1中引入。

See also sortItems( ) 。

QTreeWidget.sortItems (self, int column, Qt.SortOrder order)

排序在指定的插件的项目order通过在给定的值column

See also sortColumn( ) 。

Qt.DropActions QTreeWidget.supportedDropActions (self)

返回此视图支持的放置动作。

See also Qt.DropActions

QTreeWidgetItem QTreeWidget.takeTopLevelItem (self, int index)

QTreeWidgetItem结果

删除给定的顶级项目index在树中,并返回它,否则返回0 ;

See also insertTopLevelItem( )topLevelItem()和topLevelItemCount( ) 。

QTreeWidgetItem QTreeWidget.topLevelItem (self, int index)

返回在给定的顶级项目index,或者0 ,如果该项目不存在。

See also topLevelItemCount()和insertTopLevelItem( ) 。

int QTreeWidget.topLevelItemCount (self)

QRect QTreeWidget.visualItemRect (self, QTreeWidgetItem item)

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

See also itemAt( ) 。


Qt Signal Documentation

void currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)

这是该信号的默认超载。

在当前项目改变这个信号被发射。目前的项目是由指定的current,这取代了previous目前的项目。

See also setCurrentItem( ) 。

void itemActivated (QTreeWidgetItem *,int)

这是该信号的默认超载。

当用户通过单或双击(取决于平台上,即在启动一个项目,这个信号被发射QStyle.SH_ItemView_ActivateItemOnSingleClick风格提示)或按下一个特殊键(例如,Enter) 。

指定item是被点击,或者0,如果没有项目被点击的项目。该column是被点击,或者-1,如果没有项目被点击项目的列。

void itemChanged (QTreeWidgetItem *,int)

这是该信号的默认超载。

这个信号被发射时的内容column在指定的item变化。

void itemClicked (QTreeWidgetItem *,int)

这是该信号的默认超载。

当用户点击窗口小部件里面这个信号被发射。

指定item是被单击的项目。该column是被单击的项目的列。如果没有项目被点击,无信号将被发射。

void itemCollapsed (QTreeWidgetItem *)

这是该信号的默认超载。

指定时,这个信号被发射item处于折叠状态,使没有它的孩子被显示。

Note:如果一个项目改变它的状态,该信号将不发射时collapseAll()被调用。

See also QTreeWidgetItem.isExpanded( )itemExpanded()和collapseItem( ) 。

void itemDoubleClicked (QTreeWidgetItem *,int)

这是该信号的默认超载。

这个信号被发射时的小部件内的用户双击。

指定item是被点击,或者0,如果没有项目被点击的项目。该column是被单击的项目的列。如果没有项目被双击时,无信号将被发射。

void itemEntered (QTreeWidgetItem *,int)

这是该信号的默认超载。

当鼠标光标进入了这个信号被发射item超过规定的columnQTreeWidget鼠标跟踪需要启用此功能工作。

void itemExpanded (QTreeWidgetItem *)

这是该信号的默认超载。

指定时,这个信号被发射item是扩大,使所有的孩子都显示出来。

Note:如果一个项目改变它的状态,该信号将不发射时expandAll()被调用。

See also setItemExpanded( )QTreeWidgetItem.isExpanded( )itemCollapsed()和expandItem( ) 。

void itemPressed (QTreeWidgetItem *,int)

这是该信号的默认超载。

当用户按下该插件内的鼠标按钮,这个信号被发射。

指定item是被点击,或者0,如果没有项目被点击的项目。该column是被点击,或者-1,如果没有项目被点击项目的列。

void itemSelectionChanged ()

这是该信号的默认超载。

当选择树部件改变这个信号被发射。当前的选择可以与发现selectedItems( ) 。




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