com.trolltech.qt.gui
Class QTreeWidget

java.lang.Object
  extended by com.trolltech.qt.internal.QSignalEmitterInternal
      extended by com.trolltech.qt.QSignalEmitter
          extended by com.trolltech.qt.QtJambiObject
              extended by com.trolltech.qt.core.QObject
                  extended by com.trolltech.qt.gui.QWidget
                      extended by com.trolltech.qt.gui.QFrame
                          extended by com.trolltech.qt.gui.QAbstractScrollArea
                              extended by com.trolltech.qt.gui.QAbstractItemView
                                  extended by com.trolltech.qt.gui.QTreeView
                                      extended by com.trolltech.qt.gui.QTreeWidget
All Implemented Interfaces:
QPaintDeviceInterface, QtJambiInterface

public class QTreeWidget
extends QTreeView

The QTreeWidget class provides a tree view that uses a predefined tree model. The QTreeWidget class is a convenience class that provides a standard tree widget with a classic item-based interface similar to that used by the QListView class in Qt 3. This class is based on Qt's Model/View architecture and uses a default model to hold items, each of which is a QTreeWidgetItem.

Developers who do not need the flexibility of the Model/View framework can use this class to create simple hierarchical lists very easily. A more flexible approach involves combining a QTreeView with a standard item model. This allows the storage of data to be separated from its representation.

In its simplest form, a tree widget can be constructed in the following way:

        QTreeWidget treeWidget = new QTreeWidget();
        treeWidget.setColumnCount(1);
        List<QTreeWidgetItem> items = new ArrayList<QTreeWidgetItem>();
        for (int i = 0; i < 10; ++i) {
            List<String> lst = new ArrayList<String>();
            lst.add("item: " + i);
            items.add(new QTreeWidgetItem((QTreeWidgetItem) null, lst));
        }
        treeWidget.insertTopLevelItems(0, items);
Before items can be added to the tree widget, the number of columns must be set with setColumnCount(). This allows each item to have one or more labels or other decorations. The number of columns in use can be found with the columnCount() function.

The tree can have a header that contains a section for each column in the widget. It is easiest to set up the labels for each section by supplying a list of strings with setHeaderLabels(), but a custom header can be constructed with a QTreeWidgetItem and inserted into the tree with the setHeaderItem() function.

The items in the tree can be sorted by column according to a predefined sort order. If sorting is enabled, the user can sort the items by clicking on a column header. Sorting can be enabled or disabled by calling setSortingEnabled(). The isSortingEnabled() function indicates whether sorting is enabled.







A Windows XP style tree widget. A Macintosh style tree widget. A Plastique style tree widget.

See also:
QTreeWidgetItem, QTreeWidgetItemIterator, QTreeView, Model/View Programming, and Settings Editor Example.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QAbstractItemView
QAbstractItemView.CursorAction, QAbstractItemView.DragDropMode, QAbstractItemView.DropIndicatorPosition, QAbstractItemView.EditTrigger, QAbstractItemView.EditTriggers, QAbstractItemView.ScrollHint, QAbstractItemView.ScrollMode, QAbstractItemView.SelectionBehavior, QAbstractItemView.SelectionMode, QAbstractItemView.State
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QFrame
QFrame.Shadow, QFrame.Shape, QFrame.StyleMask
 
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget
QWidget.RenderFlag, QWidget.RenderFlags
 
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter
QSignalEmitter.AbstractSignal, QSignalEmitter.PrivateSignal0, QSignalEmitter.PrivateSignal1, QSignalEmitter.PrivateSignal2, QSignalEmitter.PrivateSignal3, QSignalEmitter.PrivateSignal4, QSignalEmitter.PrivateSignal5, QSignalEmitter.PrivateSignal6, QSignalEmitter.PrivateSignal7, QSignalEmitter.PrivateSignal8, QSignalEmitter.PrivateSignal9, QSignalEmitter.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9
 
Nested classes/interfaces inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
com.trolltech.qt.internal.QSignalEmitterInternal.AbstractSignalInternal
 
Field Summary
 QSignalEmitter.Signal2 currentItemChanged
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal2 itemActivated
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal2 itemChanged
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal2 itemClicked
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal1 itemCollapsed
          This signal takes 1 generic argument(s).
 QSignalEmitter.Signal2 itemDoubleClicked
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal2 itemEntered
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal1 itemExpanded
          This signal takes 1 generic argument(s).
 QSignalEmitter.Signal2 itemPressed
          This signal takes 2 generic argument(s).
 QSignalEmitter.Signal0 itemSelectionChanged
          This signal is emitted when the selection changes in the tree widget.
 
Fields inherited from class com.trolltech.qt.gui.QTreeView
collapsed, expanded
 
Fields inherited from class com.trolltech.qt.gui.QAbstractItemView
activated, clicked, doubleClicked, entered, pressed, viewportEntered
 
Fields inherited from class com.trolltech.qt.gui.QWidget
customContextMenuRequested
 
Fields inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
currentSender
 
Constructor Summary
QTreeWidget()
          Constructs a tree widget with the given parent.
QTreeWidget(QWidget parent)
          Constructs a tree widget with the given parent.
 
Method Summary
 void addTopLevelItem(QTreeWidgetItem item)
          Appends the item as a top-level item in the widget.
 void addTopLevelItems(java.util.List items)
          Appends the list of items as a top-level items in the widget.
 void clear()
          Clears the tree widget by removing all of its items and selections.
 void closePersistentEditor(QTreeWidgetItem item)
          Closes the persistent editor for the item in the given column.
 void closePersistentEditor(QTreeWidgetItem item, int column)
          Closes the persistent editor for the item in the given column.
 void collapseItem(QTreeWidgetItem item)
          Closes the item.
 int columnCount()
          This property holds the number of columns displayed in the tree widget.
 int currentColumn()
          Returns the current column in the tree widget.
 QTreeWidgetItem currentItem()
          Returns the current item in the tree widget.
protected  boolean dropMimeData(QTreeWidgetItem parent, int index, QMimeData data, Qt.DropAction action)
          Handles the data supplied by a drag and drop operation that ended with the given action in the index in the given parent item.
 void editItem(QTreeWidgetItem item)
          Starts editing the item in the given column if it is editable.
 void editItem(QTreeWidgetItem item, int column)
          Starts editing the item in the given column if it is editable.
 void expandItem(QTreeWidgetItem item)
          Expands the item.
 java.util.List findItems(java.lang.String text, Qt.MatchFlags flags)
          Returns a list of items that match the given text, using the given flags, in the given column.
 java.util.List findItems(java.lang.String text, Qt.MatchFlags flags, int column)
          Returns a list of items that match the given text, using the given flags, in the given column.
 QTreeWidgetItem headerItem()
          Returns the item used for the tree widget's header.
protected  com.trolltech.qt.core.QModelIndex indexFromItem(QTreeWidgetItem item)
          Returns the QModelIndex assocated with the given item in the given column.
protected  com.trolltech.qt.core.QModelIndex indexFromItem(QTreeWidgetItem item, int column)
          Returns the QModelIndex assocated with the given item in the given column.
 void insertTopLevelItem(int index, QTreeWidgetItem item)
          Inserts the item at index in the top level in the view.
 void insertTopLevelItems(int index, java.util.List items)
          Inserts the list of items at index in the top level in the view.
 QTreeWidgetItem invisibleRootItem()
          Returns the tree widget's invisible root item.
 boolean isFirstItemColumnSpanned(QTreeWidgetItem item)
          Returns true if the given item is set to show only one section over all columns; otherwise returns false.
 QTreeWidgetItem itemAbove(QTreeWidgetItem item)
          Returns the item above the given item.
 QTreeWidgetItem itemAt(int x, int y)
          This is an overloaded member function, provided for convenience.
 QTreeWidgetItem itemAt(QPoint p)
          Returns a pointer to the item at the coordinates p.
 QTreeWidgetItem itemBelow(QTreeWidgetItem item)
          Returns the item visually below the given item.
protected  QTreeWidgetItem itemFromIndex(com.trolltech.qt.core.QModelIndex index)
          Returns a pointer to the QTreeWidgetItem assocated with the given index.
 QWidget itemWidget(QTreeWidgetItem item, int column)
          Returns the widget displayed in the cell specified by item and the given column.
protected  QMimeData mimeData(java.util.List items)
          Returns an object that contains a serialized description of the specified items.
protected  java.util.List mimeTypes()
          Returns a list of MIME types that can be used to describe a list of treewidget items.
 void openPersistentEditor(QTreeWidgetItem item)
          Opens a persistent editor for the item in the given column.
 void openPersistentEditor(QTreeWidgetItem item, int column)
          Opens a persistent editor for the item in the given column.
 void removeItemWidget(QTreeWidgetItem item, int column)
          Removes the widget set in the given item in the given column.
 void scrollToItem(QTreeWidgetItem item)
          Ensures that the item is visible, scrolling the view if necessary using the specified hint.
 void scrollToItem(QTreeWidgetItem item, QAbstractItemView.ScrollHint hint)
          Ensures that the item is visible, scrolling the view if necessary using the specified hint.
 java.util.List selectedItems()
          Returns a list of all selected non-hidden items.
 void setColumnCount(int columns)
          This property holds the number of columns displayed in the tree widget.
 void setCurrentItem(QTreeWidgetItem item)
          Sets the current item in the tree widget.
 void setCurrentItem(QTreeWidgetItem item, int column)
          Sets the current item in the tree widget and the current column to column.
 void setCurrentItem(QTreeWidgetItem item, int column, QItemSelectionModel.SelectionFlag[] command)
          This is an overloaded method provided for convenience.
 void setCurrentItem(QTreeWidgetItem item, int column, QItemSelectionModel.SelectionFlags command)
          Sets the current item in the tree widget and the current column to column, using the given command.
 void setFirstItemColumnSpanned(QTreeWidgetItem item, boolean span)
          Sets the given item to only show one section for all columns if span is true; otherwise the item will show one section per column.
 void setHeaderItem(QTreeWidgetItem item)
          Sets the header item for the tree widget.
 void setHeaderLabel(java.lang.String label)
          Same as setHeaderLabels(QStringList(label)).
 void setHeaderLabels(java.util.List labels)
          Adds a column in the header for each item in the labels list, and sets the label for each column.
 void setItemWidget(QTreeWidgetItem item, int column, QWidget widget)
          Sets the given widget to be displayed in the cell specified by the given item and column.
 int sortColumn()
          Returns the column used to sort the contents of the widget.
 void sortItems(int column, Qt.SortOrder order)
          Sorts the items in the widget in the specified order by the values in the given column.
protected  Qt.DropActions supportedDropActions()
          Returns the drop actions supported by this view.
 QTreeWidgetItem takeTopLevelItem(int index)
          Removes the top-level item at the given index in the tree and returns it, otherwise returns 0;
 QTreeWidgetItem topLevelItem(int index)
          Returns the top level item at the given index, or 0 if the item does not exist.
 int topLevelItemCount()
          This property holds the number of top-level items.
 QRect visualItemRect(QTreeWidgetItem item)
          Returns the rectangle on the viewport occupied by the item at item.
 
Methods inherited from class com.trolltech.qt.gui.QTreeView
allColumnsShowFocus, autoExpandDelay, collapse, collapseAll, columnAt, columnCountChanged, columnMoved, columnResized, columnViewportPosition, columnWidth, drawBranches, drawRow, drawTree, expand, expandAll, expandsOnDoubleClick, expandToDepth, header, hideColumn, indentation, indexAbove, indexBelow, indexRowSizeHint, isAnimated, isColumnHidden, isExpanded, isFirstColumnSpanned, isHeaderHidden, isRowHidden, isSortingEnabled, itemsExpandable, resizeColumnToContents, rootIsDecorated, rowHeight, rowsRemoved, setAllColumnsShowFocus, setAnimated, setAutoExpandDelay, setColumnHidden, setColumnWidth, setExpanded, setExpandsOnDoubleClick, setFirstColumnSpanned, setHeader, setHeaderHidden, setIndentation, setItemsExpandable, setRootIsDecorated, setRowHidden, setSortingEnabled, setUniformRowHeights, setWordWrap, showColumn, sortByColumn, uniformRowHeights, wordWrap
 
Methods inherited from class com.trolltech.qt.gui.QAbstractItemView
alternatingRowColors, autoScrollMargin, clearSelection, closeEditor, closePersistentEditor, commitData, currentChanged, currentIndex, dataChanged, dirtyRegionOffset, dragDropMode, dragDropOverwriteMode, dragEnabled, dropIndicatorPosition, edit, edit, editorDestroyed, editTriggers, executeDelayedItemsLayout, hasAutoScroll, horizontalOffset, horizontalScrollMode, iconSize, indexAt, indexWidget, isIndexHidden, itemDelegate, itemDelegate, itemDelegateForColumn, itemDelegateForRow, keyboardSearch, model, moveCursor, openPersistentEditor, reset, rootIndex, rowsAboutToBeRemoved, rowsInserted, scheduleDelayedItemsLayout, scrollDirtyRegion, scrollTo, scrollTo, scrollToBottom, scrollToTop, selectAll, selectedIndexes, selectionBehavior, selectionChanged, selectionCommand, selectionCommand, selectionMode, selectionModel, setAlternatingRowColors, setAutoScroll, setAutoScrollMargin, setCurrentIndex, setDirtyRegion, setDragDropMode, setDragDropOverwriteMode, setDragEnabled, setDropIndicatorShown, setEditTriggers, setEditTriggers, setHorizontalScrollMode, setIconSize, setIndexWidget, setItemDelegate, setItemDelegateForColumn, setItemDelegateForRow, setModel, setRootIndex, setSelection, setSelectionBehavior, setSelectionMode, setSelectionModel, setState, setTabKeyNavigation, setTextElideMode, setVerticalScrollMode, showDropIndicator, sizeHintForColumn, sizeHintForIndex, sizeHintForRow, startDrag, startDrag, state, tabKeyNavigation, textElideMode, update, updateGeometries, verticalOffset, verticalScrollMode, viewOptions, visualRect, visualRegionForSelection
 
Methods inherited from class com.trolltech.qt.gui.QAbstractScrollArea
addScrollBarWidget, addScrollBarWidget, cornerWidget, horizontalScrollBar, horizontalScrollBarPolicy, maximumViewportSize, scrollBarWidgets, scrollBarWidgets, scrollContentsBy, setCornerWidget, setHorizontalScrollBar, setHorizontalScrollBarPolicy, setupViewport, setVerticalScrollBar, setVerticalScrollBarPolicy, setViewport, setViewportMargins, verticalScrollBar, verticalScrollBarPolicy, viewport, viewportEvent
 
Methods inherited from class com.trolltech.qt.gui.QFrame
frameRect, frameShadow, frameShape, frameStyle, frameWidth, lineWidth, midLineWidth, setFrameRect, setFrameShadow, setFrameShape, setFrameStyle, setLineWidth, setMidLineWidth
 
Methods inherited from class com.trolltech.qt.gui.QWidget
acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, changeEvent, childAt, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsRect, contextMenuEvent, contextMenuPolicy, cursor, depth, destroy, destroy, destroy, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, ensurePolished, enterEvent, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabKeyboard, grabMouse, grabMouse, grabShortcut, grabShortcut, graphicsProxyWidget, hasFocus, hasMouseTracking, height, heightForWidth, heightMM, hide, hideEvent, inputContext, inputMethodEvent, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isFullScreen, isHidden, isMaximized, isMinimized, isModal, isVisible, isVisibleTo, isWindow, isWindowModified, keyboardGrabber, keyPressEvent, keyReleaseEvent, languageChange, layout, layoutDirection, leaveEvent, locale, logicalDpiX, logicalDpiY, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, numColors, overrideWindowFlags, overrideWindowFlags, overrideWindowState, paintEngine, paintEvent, paintingActive, palette, parentWidget, physicalDpiX, physicalDpiY, pos, raise, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, render, render, render, render, render, render, render, render, repaint, repaint, repaint, repaint, resetInputContext, resize, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setBaseSize, setContentsMargins, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedSize, setFixedWidth, setFocus, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGeometry, setHidden, setInputContext, setLayout, setLayoutDirection, setLocale, setMask, setMask, setMaximumHeight, setMaximumSize, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setParent, setParent, setShortcutAutoRepeat, setShortcutAutoRepeat, setShortcutEnabled, setShortcutEnabled, setSizeIncrement, setSizeIncrement, setSizePolicy, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeHint, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, underMouse, unsetCursor, unsetLayoutDirection, unsetLocale, update, update, update, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, widthMM, window, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, winId, x, y
 
Methods inherited from class com.trolltech.qt.core.QObject
childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, event, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, indexOfProperty, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, properties, property, removeEventFilter, setObjectName, setParent, setProperty, startTimer, timerEvent, toString, userProperty
 
Methods inherited from class com.trolltech.qt.QtJambiObject
dispose, disposed, equals, finalize, reassignNativeResources, tr, tr, tr
 
Methods inherited from class com.trolltech.qt.QSignalEmitter
blockSignals, disconnect, disconnect, signalsBlocked, signalSender, thread
 
Methods inherited from class com.trolltech.qt.internal.QSignalEmitterInternal
__qt_signalInitialization
 
Methods inherited from class java.lang.Object
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.trolltech.qt.QtJambiInterface
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership
 

Field Detail

currentItemChanged

public final QSignalEmitter.Signal2 currentItemChanged

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: current), com.trolltech.qt.gui.QTreeWidgetItem(named: previous)>:

This signal is emitted when the current item changes. The current item is specified by current, and this replaces the previous current item.

See also:
setCurrentItem().


itemActivated

public final QSignalEmitter.Signal2 itemActivated

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item), java.lang.Integer(named: column)>:

This signal is emitted when the user activates an item by single- or double-clicking (depending on the platform, i. . on the QStyle::SH_ItemView_ActivateItemOnSingleClick style hint) or pressing a special key (e.g., Enter).

The specified item is the item that was clicked, or 0 if no item was clicked. The column is the item's column that was clicked, or -1 if no item was clicked.


itemChanged

public final QSignalEmitter.Signal2 itemChanged

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item), java.lang.Integer(named: column)>:

This signal is emitted when the contents of the column in the specified item changes.


itemClicked

public final QSignalEmitter.Signal2 itemClicked

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item), java.lang.Integer(named: column)>:

This signal is emitted when the user clicks inside the widget.

The specified item is the item that was clicked. The column is the item's column that was clicked. If no item was clicked, no signal will be emitted.


itemCollapsed

public final QSignalEmitter.Signal1 itemCollapsed

This signal takes 1 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item)>:

This signal is emitted when the specified item is collapsed so that none of its children are displayed.

Note: This signal will not be emitted if an item changes its state when collapseAll() is invoked.

See also:
isItemExpanded(), itemExpanded() , and collapseItem().


itemDoubleClicked

public final QSignalEmitter.Signal2 itemDoubleClicked

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item), java.lang.Integer(named: column)>:

This signal is emitted when the user double clicks inside the widget.

The specified item is the item that was clicked, or 0 if no item was clicked. The column is the item's column that was clicked. If no item was double clicked, no signal will be emitted.


itemEntered

public final QSignalEmitter.Signal2 itemEntered

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item), java.lang.Integer(named: column)>:

This signal is emitted when the mouse cursor enters an item over the specified column. QTreeWidget mouse tracking needs to be enabled for this feature to work.


itemExpanded

public final QSignalEmitter.Signal1 itemExpanded

This signal takes 1 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item)>:

This signal is emitted when the specified item is expanded so that all of its children are displayed.

Note: This signal will not be emitted if an item changes its state when expandAll() is invoked.

See also:
setItemExpanded(), isItemExpanded(), itemCollapsed() , and expandItem().


itemPressed

public final QSignalEmitter.Signal2 itemPressed

This signal takes 2 generic argument(s). We list their type and the name they go by in the description of this signal. <com.trolltech.qt.gui.QTreeWidgetItem(named: item), java.lang.Integer(named: column)>:

This signal is emitted when the user presses a mouse button inside the widget.

The specified item is the item that was clicked, or 0 if no item was clicked. The column is the item's column that was clicked, or -1 if no item was clicked.


itemSelectionChanged

public final QSignalEmitter.Signal0 itemSelectionChanged
This signal is emitted when the selection changes in the tree widget. The current selection can be found with selectedItems().

Constructor Detail

QTreeWidget

public QTreeWidget()
Constructs a tree widget with the given parent.


QTreeWidget

public QTreeWidget(QWidget parent)
Constructs a tree widget with the given parent.

Method Detail

addTopLevelItem

public final void addTopLevelItem(QTreeWidgetItem item)
Appends the item as a top-level item in the widget.

See also:
insertTopLevelItem().


addTopLevelItems

public final void addTopLevelItems(java.util.List items)
Appends the list of items as a top-level items in the widget.

See also:
insertTopLevelItems().


clear

public final void clear()
Clears the tree widget by removing all of its items and selections.

Note: Since each item is removed from the tree widget before being deleted, the return value of QTreeWidgetItem::treeWidget() will be invalid when called from an item's destructor.

See also:
takeTopLevelItem(), topLevelItemCount(), and columnCount().


closePersistentEditor

public final void closePersistentEditor(QTreeWidgetItem item)
Closes the persistent editor for the item in the given column.

This function has no effect if no persistent editor is open for this combination of item and column.

See also:
openPersistentEditor().


closePersistentEditor

public final void closePersistentEditor(QTreeWidgetItem item,
                                        int column)
Closes the persistent editor for the item in the given column.

This function has no effect if no persistent editor is open for this combination of item and column.

See also:
openPersistentEditor().


collapseItem

public final void collapseItem(QTreeWidgetItem item)
Closes the item. This causes the tree containing the item's children to be collapsed.

See also:
expandItem(), currentItem(), itemAt(), and topLevelItem().


columnCount

public final int columnCount()
This property holds the number of columns displayed in the tree widget. By default, this property has a value of 1.


currentColumn

public final int currentColumn()
Returns the current column in the tree widget.

See also:
setCurrentItem(), and columnCount().


currentItem

public final QTreeWidgetItem currentItem()
Returns the current item in the tree widget.

See also:
setCurrentItem(), and currentItemChanged() .


editItem

public final void editItem(QTreeWidgetItem item)
Starts editing the item in the given column if it is editable.


editItem

public final void editItem(QTreeWidgetItem item,
                           int column)
Starts editing the item in the given column if it is editable.


expandItem

public final void expandItem(QTreeWidgetItem item)
Expands the item. This causes the tree containing the item's children to be expanded.

See also:
collapseItem(), currentItem(), itemAt(), topLevelItem(), and itemExpanded() .


findItems

public final java.util.List findItems(java.lang.String text,
                                      Qt.MatchFlags flags)
Returns a list of items that match the given text, using the given flags, in the given column.


findItems

public final java.util.List findItems(java.lang.String text,
                                      Qt.MatchFlags flags,
                                      int column)
Returns a list of items that match the given text, using the given flags, in the given column.


headerItem

public final QTreeWidgetItem headerItem()
Returns the item used for the tree widget's header.

See also:
setHeaderItem().


indexFromItem

protected final com.trolltech.qt.core.QModelIndex indexFromItem(QTreeWidgetItem item)
Returns the QModelIndex assocated with the given item in the given column.

See also:
itemFromIndex(), and topLevelItem().


indexFromItem

protected final com.trolltech.qt.core.QModelIndex indexFromItem(QTreeWidgetItem item,
                                                                int column)
Returns the QModelIndex assocated with the given item in the given column.

See also:
itemFromIndex(), and topLevelItem().


insertTopLevelItem

public final void insertTopLevelItem(int index,
                                     QTreeWidgetItem item)
Inserts the item at index in the top level in the view.

If the item has already been inserted somewhere else it wont be inserted.

See also:
addTopLevelItem(), and columnCount().


insertTopLevelItems

public final void insertTopLevelItems(int index,
                                      java.util.List items)
Inserts the list of items at index in the top level in the view.

Items that have already been inserted somewhere else wont be inserted.

See also:
addTopLevelItems().


invisibleRootItem

public final QTreeWidgetItem invisibleRootItem()
Returns the tree widget's invisible root item.

The invisible root item provides access to the tree widget's top-level items through the QTreeWidgetItem API, making it possible to write functions that can treat top-level items and their children in a uniform way; for example, recursive functions.


isFirstItemColumnSpanned

public final boolean isFirstItemColumnSpanned(QTreeWidgetItem item)
Returns true if the given item is set to show only one section over all columns; otherwise returns false.

See also:
setFirstItemColumnSpanned().


itemAbove

public final QTreeWidgetItem itemAbove(QTreeWidgetItem item)
Returns the item above the given item.


itemAt

public final QTreeWidgetItem itemAt(QPoint p)
Returns a pointer to the item at the coordinates p.

See also:
visualItemRect().


itemAt

public final QTreeWidgetItem itemAt(int x,
                                    int y)
This is an overloaded member function, provided for convenience.

Returns a pointer to the item at the coordinates (x, y).


itemBelow

public final QTreeWidgetItem itemBelow(QTreeWidgetItem item)
Returns the item visually below the given item.


itemFromIndex

protected final QTreeWidgetItem itemFromIndex(com.trolltech.qt.core.QModelIndex index)
Returns a pointer to the QTreeWidgetItem assocated with the given index.

See also:
indexFromItem().


itemWidget

public final QWidget itemWidget(QTreeWidgetItem item,
                                int column)
Returns the widget displayed in the cell specified by item and the given column.

Note: The tree takes ownership of the widget.

See also:
setItemWidget().


openPersistentEditor

public final void openPersistentEditor(QTreeWidgetItem item)
Opens a persistent editor for the item in the given column.

See also:
closePersistentEditor().


openPersistentEditor

public final void openPersistentEditor(QTreeWidgetItem item,
                                       int column)
Opens a persistent editor for the item in the given column.

See also:
closePersistentEditor().


removeItemWidget

public final void removeItemWidget(QTreeWidgetItem item,
                                   int column)
Removes the widget set in the given item in the given column.


scrollToItem

public final void scrollToItem(QTreeWidgetItem item)
Ensures that the item is visible, scrolling the view if necessary using the specified hint.

See also:
currentItem(), itemAt(), and topLevelItem().


scrollToItem

public final void scrollToItem(QTreeWidgetItem item,
                               QAbstractItemView.ScrollHint hint)
Ensures that the item is visible, scrolling the view if necessary using the specified hint.

See also:
currentItem(), itemAt(), and topLevelItem().


selectedItems

public final java.util.List selectedItems()
Returns a list of all selected non-hidden items.

See also:
itemSelectionChanged() .


setColumnCount

public final void setColumnCount(int columns)
This property holds the number of columns displayed in the tree widget. By default, this property has a value of 1.


setCurrentItem

public final void setCurrentItem(QTreeWidgetItem item)
Sets the current item in the tree widget.

Depending on the current selection mode, the item may also be selected.

See also:
currentItem(), and currentItemChanged() .


setCurrentItem

public final void setCurrentItem(QTreeWidgetItem item,
                                 int column)
Sets the current item in the tree widget and the current column to column.

See also:
currentItem().


setCurrentItem

public final void setCurrentItem(QTreeWidgetItem item,
                                 int column,
                                 QItemSelectionModel.SelectionFlag[] command)
This is an overloaded method provided for convenience.


setCurrentItem

public final void setCurrentItem(QTreeWidgetItem item,
                                 int column,
                                 QItemSelectionModel.SelectionFlags command)
Sets the current item in the tree widget and the current column to column, using the given command.

See also:
currentItem().


setFirstItemColumnSpanned

public final void setFirstItemColumnSpanned(QTreeWidgetItem item,
                                            boolean span)
Sets the given item to only show one section for all columns if span is true; otherwise the item will show one section per column.

See also:
isFirstItemColumnSpanned().


setHeaderItem

public final void setHeaderItem(QTreeWidgetItem item)
Sets the header item for the tree widget. The label for each column in the header is supplied by the corresponding label in the item.

The tree widget takes ownership of the item.

See also:
headerItem(), and setHeaderLabels().


setHeaderLabel

public final void setHeaderLabel(java.lang.String label)
Same as setHeaderLabels(QStringList(label)).


setHeaderLabels

public final void setHeaderLabels(java.util.List labels)
Adds a column in the header for each item in the labels list, and sets the label for each column.

Note that setHeaderLabels() won't remove existing columns.

See also:
setHeaderItem(), and setHeaderLabel().


setItemWidget

public final void setItemWidget(QTreeWidgetItem item,
                                int column,
                                QWidget widget)
Sets the given widget to be displayed in the cell specified by the given item and column.

Note that the given widget's autoFillBackground property must be set to true, otherwise the widget's background will be transparent, showing both the model data and the tree widget item.

This function should only be used to display static content in the place of a tree widget item. If you want to display custom dynamic content or implement a custom editor widget, use QTreeView and subclass QItemDelegate instead.

Note: The tree takes ownership of the widget.

See also:
itemWidget(), and Delegate Classes.


sortColumn

public final int sortColumn()
Returns the column used to sort the contents of the widget.

See also:
sortItems().


sortItems

public final void sortItems(int column,
                            Qt.SortOrder order)
Sorts the items in the widget in the specified order by the values in the given column.

See also:
sortColumn().


takeTopLevelItem

public final QTreeWidgetItem takeTopLevelItem(int index)
Removes the top-level item at the given index in the tree and returns it, otherwise returns 0;

See also.
insertTopLevelItem(), topLevelItem(), and topLevelItemCount().


topLevelItem

public final QTreeWidgetItem topLevelItem(int index)
Returns the top level item at the given index, or 0 if the item does not exist.

See also:
topLevelItemCount(), and insertTopLevelItem().


topLevelItemCount

public final int topLevelItemCount()
This property holds the number of top-level items. By default, this property has a value of 0.

See also:
columnCount(), and currentItem().


visualItemRect

public final QRect visualItemRect(QTreeWidgetItem item)
Returns the rectangle on the viewport occupied by the item at item.

See also:
itemAt().


dropMimeData

protected boolean dropMimeData(QTreeWidgetItem parent,
                               int index,
                               QMimeData data,
                               Qt.DropAction action)
Handles the data supplied by a drag and drop operation that ended with the given action in the index in the given parent item.

The default implementation returns true if the drop was successfully handled by decoding the mime data and inserting it into the model; otherwise it returns false.

See also:
supportedDropActions().


mimeData

protected QMimeData mimeData(java.util.List items)
Returns an object that contains a serialized description of the specified items. The format used to describe the items is obtained from the mimeTypes() function.

If the list of items is empty, 0 is returned rather than a serialized empty list.


mimeTypes

protected java.util.List mimeTypes()
Returns a list of MIME types that can be used to describe a list of treewidget items.

See also:
mimeData().


supportedDropActions

protected Qt.DropActions supportedDropActions()
Returns the drop actions supported by this view.

See also:
Qt::DropActions.