QTreeWidget Class Reference

[QtGui module]

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

继承QTreeView

Methods

  • __init__ (self, QWidget parent = None)
  • addTopLevelItem (self, QTreeWidgetItem item)
  • addTopLevelItems (self, list-of-QTreeWidgetItem items)
  • clear (self)
  • closePersistentEditor (self, QTreeWidgetItem item, int column = 0)
  • collapseItem (self, QTreeWidgetItem item)
  • int columnCount (self)
  • int currentColumn (self)
  • QTreeWidgetItem currentItem (self)
  • dropEvent (self, QDropEvent event)
  • bool dropMimeData (self, QTreeWidgetItem parent, int index, QMimeData data, Qt.DropAction action)
  • editItem (self, QTreeWidgetItem item, int column = 0)
  • bool event (self, QEvent e)
  • expandItem (self, QTreeWidgetItem item)
  • list-of-QTreeWidgetItem findItems (self, QString text, Qt.MatchFlags flags, int column = 0)
  • QTreeWidgetItem headerItem (self)
  • QModelIndex indexFromItem (self, QTreeWidgetItem item, int column = 0)
  • int indexOfTopLevelItem (self, QTreeWidgetItem item)
  • insertTopLevelItem (self, int index, QTreeWidgetItem item)
  • insertTopLevelItems (self, int index, list-of-QTreeWidgetItem items)
  • QTreeWidgetItem invisibleRootItem (self)
  • bool isFirstItemColumnSpanned (self, QTreeWidgetItem item)
  • bool isItemExpanded (self, QTreeWidgetItem item)
  • bool isItemHidden (self, QTreeWidgetItem item)
  • bool isItemSelected (self, QTreeWidgetItem item)
  • bool isSortingEnabled (self)
  • QTreeWidgetItem itemAbove (self, QTreeWidgetItem item)
  • QTreeWidgetItem itemAt (self, QPoint p)
  • QTreeWidgetItem itemAt (self, int ax, int ay)
  • QTreeWidgetItem itemBelow (self, QTreeWidgetItem item)
  • QTreeWidgetItem itemFromIndex (self, QModelIndex index)
  • list-of-QTreeWidgetItem items (self, QMimeData data)
  • QWidget itemWidget (self, QTreeWidgetItem item, int column)
  • QMimeData mimeData (self, list-of-QTreeWidgetItem items)
  • QStringList mimeTypes (self)
  • openPersistentEditor (self, QTreeWidgetItem item, int column = 0)
  • removeItemWidget (self, QTreeWidgetItem item, int column)
  • scrollToItem (self, QTreeWidgetItem item, QAbstractItemView.ScrollHint hint = QAbstractItemView.EnsureVisible)
  • list-of-QTreeWidgetItem selectedItems (self)
  • setColumnCount (self, int columns)
  • setCurrentItem (self, QTreeWidgetItem item)
  • setCurrentItem (self, QTreeWidgetItem item, int column)
  • setCurrentItem (self, QTreeWidgetItem item, int column, QItemSelectionModel.SelectionFlags command)
  • setFirstItemColumnSpanned (self, QTreeWidgetItem item, bool span)
  • setHeaderItem (self, QTreeWidgetItem item)
  • setHeaderLabel (self, QString alabel)
  • setHeaderLabels (self, QStringList labels)
  • setItemExpanded (self, QTreeWidgetItem item, bool expand)
  • setItemHidden (self, QTreeWidgetItem item, bool hide)
  • setItemSelected (self, QTreeWidgetItem item, bool select)
  • setItemWidget (self, QTreeWidgetItem item, int column, QWidget widget)
  • setSelectionModel (self, QItemSelectionModel selectionModel)
  • setSortingEnabled (self, bool enable)
  • int sortColumn (self)
  • sortItems (self, int column, Qt.SortOrder order)
  • Qt.DropActions supportedDropActions (self)
  • QTreeWidgetItem takeTopLevelItem (self, int index)
  • QTreeWidgetItem topLevelItem (self, int index)
  • int topLevelItemCount (self)
  • QRect visualItemRect (self, QTreeWidgetItem item)

Qt Signals

  • void currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)
  • void itemActivated (QTreeWidgetItem *,int)
  • void itemChanged (QTreeWidgetItem *,int)
  • void itemClicked (QTreeWidgetItem *,int)
  • void itemCollapsed (QTreeWidgetItem *)
  • void itemDoubleClicked (QTreeWidgetItem *,int)
  • void itemEntered (QTreeWidgetItem *,int)
  • void itemExpanded (QTreeWidgetItem *)
  • void itemPressed (QTreeWidgetItem *,int)
  • void itemSelectionChanged ()

Detailed Description

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

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

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

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

  1. QTreeWidget *treeWidget = new QTreeWidget();
  2. treeWidget->setColumnCount(1);
  3. [QList]($docs-index.htm)<[QTreeWidgetItem]($docs-qtreewidgetitem.html) *> items;
  4. for (int i = 0; i < 10; ++i)
  5. items.append(new [QTreeWidgetItem]($docs-qtreewidgetitem.html)((QTreeWidget*)0, [QStringList]($docs-qstringlist.html)([QString](qstring.html)("item: %1").arg(i))));
  6. 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

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

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

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

  1. QTreeWidget.addTopLevelItem (self, QTreeWidgetItem item)

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

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

这个函数是Qt 4.1中引入。

See also insertTopLevelItem( ) 。

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

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

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

See also insertTopLevelItems( ) 。

  1. QTreeWidget.clear (self)

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

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

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

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

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

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

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

See also openPersistentEditor( ) 。

  1. QTreeWidget.collapseItem (self, QTreeWidgetItem item)

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

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

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

  1. int QTreeWidget.columnCount (self)
  1. int QTreeWidget.currentColumn (self)

返回在树插件的当前列。

这个函数是Qt 4.1中引入。

See also setCurrentItem()和columnCount( ) 。

  1. QTreeWidgetItem QTreeWidget.currentItem (self)

[

返回在树插件的当前项。

]($docs-qtreewidgetitem.html)

See also setCurrentItem()和currentItemChanged( ) 。

  1. QTreeWidget.dropEvent (self, QDropEvent event)

从重新实现QWidget.dropEvent( ) 。

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

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

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

See also supportedDropActions( ) 。

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

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

  1. bool QTreeWidget.event (self, QEvent e)

从重新实现QObject.event( ) 。

  1. QTreeWidget.expandItem (self, QTreeWidgetItem item)

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

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

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

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

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

  1. QTreeWidgetItem QTreeWidget.headerItem (self)

[

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

]($docs-qtreewidgetitem.html)

See also setHeaderItem( ) 。

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

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

See also itemFromIndex()和topLevelItem( ) 。

  1. int QTreeWidget.indexOfTopLevelItem (self, QTreeWidgetItem item)

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

See also sortItems()和topLevelItemCount( ) 。

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

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

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

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

See also addTopLevelItem()和columnCount( ) 。

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

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

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

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

这个函数是Qt 4.1中引入。

See also addTopLevelItems( ) 。

  1. QTreeWidgetItem QTreeWidget.invisibleRootItem (self)

[

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

]($docs-qtreewidgetitem.html)

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

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

  1. bool QTreeWidget.isFirstItemColumnSpanned (self, QTreeWidgetItem item)

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

此功能被引入Qt的4.3 。

See also setFirstItemColumnSpanned( ) 。

  1. bool QTreeWidget.isItemExpanded (self, QTreeWidgetItem item)
  1. bool QTreeWidget.isItemHidden (self, QTreeWidgetItem item)
  1. bool QTreeWidget.isItemSelected (self, QTreeWidgetItem item)
  1. bool QTreeWidget.isSortingEnabled (self)
  1. QTreeWidgetItem QTreeWidget.itemAbove (self, QTreeWidgetItem item)

[

返回上面给定的项目item

此功能被引入Qt的4.3 。

]($docs-qtreewidgetitem.html)

  1. QTreeWidgetItem QTreeWidget.itemAt (self, QPoint p)

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

See also visualItemRect( ) 。

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

[

这是一个重载函数。

]($docs-qtreewidgetitem.html)

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

  1. QTreeWidgetItem QTreeWidget.itemBelow (self, QTreeWidgetItem item)

[

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

此功能被引入Qt的4.3 。

]($docs-qtreewidgetitem.html)

  1. QTreeWidgetItem QTreeWidget.itemFromIndex (self, QModelIndex index)

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

See also indexFromItem( ) 。

  1. list-of-QTreeWidgetItem QTreeWidget.items (self, QMimeData data)
  1. QWidget QTreeWidget.itemWidget (self, QTreeWidgetItem item, int column)

[

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

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

这个函数是Qt 4.1中引入。

]($docs-qwidget.html)

See also setItemWidget( ) 。

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

[

QMimeData结果

]($docs-qmimedata.html)

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

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

  1. QStringList QTreeWidget.mimeTypes (self)

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

See also mimeData( ) 。

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

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

See also closePersistentEditor( ) 。

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

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

此功能被引入Qt的4.3 。

  1. 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( ) 。

  1. list-of-QTreeWidgetItem QTreeWidget.selectedItems (self)

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

See also itemSelectionChanged( ) 。

  1. QTreeWidget.setColumnCount (self, int columns)
  1. QTreeWidget.setCurrentItem (self, QTreeWidgetItem item)

设置当前item树部件。

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

See also currentItem()和currentItemChanged( ) 。

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

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

这个函数是Qt 4.1中引入。

See also currentItem( ) 。

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

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

此功能被引入Qt的4.4 。

See also currentItem( ) 。

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

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

此功能被引入Qt的4.3 。

See also isFirstItemColumnSpanned( ) 。

  1. QTreeWidget.setHeaderItem (self, QTreeWidgetItem item)

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

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

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

See also headerItem()和setHeaderLabels( ) 。

  1. QTreeWidget.setHeaderLabel (self, QString alabel)

同setHeaderLabels (QStringListlabel))。

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

  1. QTreeWidget.setHeaderLabels (self, QStringList labels)

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

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

See also setHeaderItem()和setHeaderLabel( ) 。

  1. QTreeWidget.setItemExpanded (self, QTreeWidgetItem item, bool expand)
  1. QTreeWidget.setItemHidden (self, QTreeWidgetItem item, bool hide)
  1. QTreeWidget.setItemSelected (self, QTreeWidgetItem item, bool select)
  1. 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

  1. QTreeWidget.setSelectionModel (self, QItemSelectionModel selectionModel)

从重新实现QAbstractItemView.setSelectionModel( ) 。

  1. QTreeWidget.setSortingEnabled (self, bool enable)
  1. int QTreeWidget.sortColumn (self)

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

这个函数是Qt 4.1中引入。

See also sortItems( ) 。

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

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

See also sortColumn( ) 。

  1. Qt.DropActions QTreeWidget.supportedDropActions (self)

[

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

]($docs-index.htm)

See also Qt.DropActions

  1. QTreeWidgetItem QTreeWidget.takeTopLevelItem (self, int index)

[

QTreeWidgetItem结果

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

]($docs-qtreewidgetitem.html)

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

  1. QTreeWidgetItem QTreeWidget.topLevelItem (self, int index)

[

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

]($docs-qtreewidgetitem.html)

See also topLevelItemCount()和insertTopLevelItem( ) 。

  1. int QTreeWidget.topLevelItemCount (self)
  1. QRect QTreeWidget.visualItemRect (self, QTreeWidgetItem item)

[

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

]($docs-qrect.html)

See also itemAt( ) 。


Qt Signal Documentation

  1. void currentItemChanged (QTreeWidgetItem *,QTreeWidgetItem *)

这是该信号的默认超载。

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

See also setCurrentItem( ) 。

  1. void itemActivated (QTreeWidgetItem *,int)

这是该信号的默认超载。

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

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

  1. void itemChanged (QTreeWidgetItem *,int)

这是该信号的默认超载。

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

  1. void itemClicked (QTreeWidgetItem *,int)

这是该信号的默认超载。

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

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

  1. void itemCollapsed (QTreeWidgetItem *)

这是该信号的默认超载。

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

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

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

  1. void itemDoubleClicked (QTreeWidgetItem *,int)

这是该信号的默认超载。

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

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

  1. void itemEntered (QTreeWidgetItem *,int)

这是该信号的默认超载。

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

  1. void itemExpanded (QTreeWidgetItem *)

这是该信号的默认超载。

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

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

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

  1. void itemPressed (QTreeWidgetItem *,int)

这是该信号的默认超载。

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

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

  1. void itemSelectionChanged ()

这是该信号的默认超载。

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