|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.trolltech.qt.QSignalEmitter
com.trolltech.qt.QtJambiObject
com.trolltech.qt.core.QObject
com.trolltech.qt.gui.QWidget
com.trolltech.qt.gui.QFrame
com.trolltech.qt.gui.QAbstractScrollArea
com.trolltech.qt.gui.QAbstractItemView
com.trolltech.qt.gui.QTreeView
public class QTreeView
The QTreeView
class provides a default model/view implementation of a tree view. A QTreeView
implements a tree representation of items from a model. This class is used to provide standard hierarchical lists that were previously provided by the QListView class, but using the more flexible approach provided by Qt's model/view architecture.
The QTreeView
class is one of the Model/View Classes and is part of Qt's model/view framework.
QTreeView
implements the interfaces defined by the QAbstractItemView
class to allow it to display data provided by models derived from the QAbstractItemModel
class.
It is simple to construct a tree view displaying data from a model. In the following example, the contents of a directory are supplied by a QDirModel
and displayed as a tree:
QDirModel model = new QDirModel(); QTreeView tree = new QTreeView(splitter); tree.setModel(model);The model/view architecture ensures that the contents of the tree view are updated as the model changes.
Items that have children can be in an expanded (children are visible) or collapsed (children are hidden) state. When this state changes a collapsed()
or expanded()
signal is emitted with the model index of the relevant item.
The amount of indentation used to indicate levels of hierarchy is controlled by the indentation
property.
Headers in tree views are constructed using the QHeaderView
class and can be hidden using header()
->hide()
. Note that each header is configured with its stretchLastSection
property set to true, ensuring that the view does not waste any of the space assigned to it for its header.Key Bindings
QTreeView
supports a set of key bindings that enable the user to navigate in the view and interact with the contents of items:
UpArrow | 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. |
DownArrow | 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. |
LeftArrow | Hides the children of the current item (if present) by collapsing a branch. |
Minus | Same as LeftArrow . |
RightArrow | 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. |
![]() | ![]() | ![]() |
A Windows XP style tree view. | A Macintosh style tree view. | A Plastique style tree view. |
uniformRowHeights
property to true. QListView
, QTreeWidget
, View Classes, QAbstractItemModel
, QAbstractItemView
, and Dir View 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.Signal0, QSignalEmitter.Signal1, QSignalEmitter.Signal2, QSignalEmitter.Signal3, QSignalEmitter.Signal4, QSignalEmitter.Signal5, QSignalEmitter.Signal6, QSignalEmitter.Signal7, QSignalEmitter.Signal8, QSignalEmitter.Signal9 |
Field Summary | |
---|---|
QSignalEmitter.Signal1 |
collapsed
This signal is emitted when the item specified by index is collapsed. |
QSignalEmitter.Signal1 |
expanded
This signal is emitted when the item specified by index is 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 |
Constructor Summary | |
---|---|
QTreeView()
Constructs a table view with a parent to represent a model's data. |
|
QTreeView(QWidget parent)
Constructs a table view with a parent to represent a model's data. |
Method Summary | |
---|---|
boolean |
allColumnsShowFocus()
This property holds whether items should show keyboard focus using all columns. |
int |
autoExpandDelay()
This property holds The delay time before items in a tree are opened during a drag and drop operation. |
void |
collapse(QModelIndex index)
Collapses the model item specified by the index. |
void |
collapseAll()
Collapses all expanded items. |
int |
columnAt(int x)
Returns the column in the tree view whose header covers the x coordinate given. |
protected void |
columnCountChanged(int oldCount,
int newCount)
Informs the tree view that the number of columns in the tree view has changed from oldCount to newCount. |
protected void |
columnMoved()
This slot is called whenever a column has been moved. |
protected void |
columnResized(int column,
int oldSize,
int newSize)
This function is called whenever column's size is changed in the header. |
int |
columnViewportPosition(int column)
Returns the horizontal position of the column in the viewport. |
int |
columnWidth(int column)
Returns the width of the column. |
protected void |
drawBranches(QPainter painter,
QRect rect,
QModelIndex index)
Draws the branches in the tree view on the same row as the model item index, using the painter given. |
protected void |
drawRow(QPainter painter,
QStyleOptionViewItem options,
QModelIndex index)
Draws the row in the tree view that contains the model item index, using the painter given. |
protected void |
drawTree(QPainter painter,
QRegion region)
Draws the part of the tree intersecting the given region using the specified painter. |
void |
expand(QModelIndex index)
Expands the model item specified by the index. |
void |
expandAll()
Expands all expandable items. |
boolean |
expandsOnDoubleClick()
This property holds whether the items can be expanded by double-clicking. |
void |
expandToDepth(int depth)
Expands all expandable items to the given depth. |
static QTreeView |
fromNativePointer(QNativePointer nativePointer)
|
QHeaderView |
header()
Returns the header for the tree view. |
void |
hideColumn(int column)
Hides the column given. |
int |
indentation()
This property holds indentation of the items in the tree view. |
QModelIndex |
indexAbove(QModelIndex index)
Returns the model index of the item above index. |
QModelIndex |
indexBelow(QModelIndex index)
Returns the model index of the item below index. |
protected int |
indexRowSizeHint(QModelIndex index)
Returns the size hint for the row indicated by index. |
boolean |
isAnimated()
This property holds whether animations are enabled. |
boolean |
isColumnHidden(int column)
Returns true if the column is hidden; otherwise returns false. |
boolean |
isExpanded(QModelIndex index)
Returns true if the model item index is expanded; otherwise returns false. |
boolean |
isFirstColumnSpanned(int row,
QModelIndex parent)
Returns true if the item in first column in the given row of the parent is spanning all the columns; otherwise returns false. |
boolean |
isHeaderHidden()
This property holds whether the header is shown or not. |
boolean |
isRowHidden(int row,
QModelIndex parent)
Returns true if the item in the given row of the parent is hidden; otherwise returns false. |
boolean |
isSortingEnabled()
This property holds whether sorting is enabled. |
boolean |
itemsExpandable()
This property holds whether the items are expandable by the user. |
void |
resizeColumnToContents(int column)
Resizes the column given to the size of its contents. |
boolean |
rootIsDecorated()
This property holds whether to show controls for expanding and collapsing top-level items. |
protected int |
rowHeight(QModelIndex index)
Returns the height of the row indicated by the given index. |
protected void |
rowsRemoved(QModelIndex parent,
int first,
int last)
Informs the view that the rows from the start row to the end row inclusive have been removed from the given parent model item. |
void |
setAllColumnsShowFocus(boolean enable)
This property holds whether items should show keyboard focus using all columns. |
void |
setAnimated(boolean enable)
This property holds whether animations are enabled. |
void |
setAutoExpandDelay(int delay)
This property holds The delay time before items in a tree are opened during a drag and drop operation. |
void |
setColumnHidden(int column,
boolean hide)
If hide is true the column is hidden, otherwise the column is shown. |
void |
setColumnWidth(int column,
int width)
Sets the width of the given column to the width specified. |
void |
setExpanded(QModelIndex index,
boolean expand)
Sets the item referred to by index to either collapse or expanded, depending on the value of expanded. |
void |
setExpandsOnDoubleClick(boolean enable)
This property holds whether the items can be expanded by double-clicking. |
void |
setFirstColumnSpanned(int row,
QModelIndex parent,
boolean span)
If span is true the item in the first column in the row with the given parent is set to span all columns, otherwise all items on the row are shown. |
void |
setHeader(QHeaderView header)
Sets the header for the tree view, to the given header. |
void |
setHeaderHidden(boolean hide)
This property holds whether the header is shown or not. |
void |
setIndentation(int i)
This property holds indentation of the items in the tree view. |
void |
setItemsExpandable(boolean enable)
This property holds whether the items are expandable by the user. |
void |
setRootIsDecorated(boolean show)
This property holds whether to show controls for expanding and collapsing top-level items. |
void |
setRowHidden(int row,
QModelIndex parent,
boolean hide)
If hide is true the row with the given parent is hidden, otherwise the row is shown. |
void |
setSortingEnabled(boolean enable)
This property holds whether sorting is enabled. |
void |
setUniformRowHeights(boolean uniform)
This property holds whether all items in the treeview have the same height. |
void |
setWordWrap(boolean on)
This property holds the item text word-wrapping policy. |
void |
showColumn(int column)
Shows the given column in the tree view. |
void |
sortByColumn(int column,
Qt.SortOrder order)
Sets the model up for sorting by the values in the given column and order. |
boolean |
uniformRowHeights()
This property holds whether all items in the treeview have the same height. |
boolean |
wordWrap()
This property holds the item text word-wrapping policy. |
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.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 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 |
---|
public final QSignalEmitter.Signal1 collapsed
public final QSignalEmitter.Signal1 expanded
setExpanded()
.
Constructor Detail |
---|
public QTreeView()
setModel()
to set the model. QAbstractItemModel
.
public QTreeView(QWidget parent)
setModel()
to set the model. QAbstractItemModel
.
Method Detail |
---|
public final boolean allColumnsShowFocus()
The default is false.
public final int autoExpandDelay()
public final void collapse(QModelIndex index)
collapsed()
.
public final void collapseAll()
expandAll()
, expand()
, collapse()
, and setExpanded()
.
public final int columnAt(int x)
protected final void columnCountChanged(int oldCount, int newCount)
protected final void columnMoved()
protected final void columnResized(int column, int oldSize, int newSize)
setColumnWidth()
.
public final int columnViewportPosition(int column)
public final int columnWidth(int column)
resizeColumnToContents()
, and setColumnWidth()
.
protected final void drawTree(QPainter painter, QRegion region)
paintEvent()
.
public final void expand(QModelIndex index)
expanded()
.
public final void expandAll()
Warning: if the model contains a large number of items, this function will be take time to execute.
collapseAll()
, expand()
, collapse()
, and setExpanded()
.
public final void expandToDepth(int depth)
expandAll()
, collapseAll()
, expand()
, collapse()
, and setExpanded()
.
public final boolean expandsOnDoubleClick()
itemsExpandable
.
public final QHeaderView header()
setHeader()
, and QAbstractItemModel::headerData()
.
public final void hideColumn(int column)
Note: This function should only be called after the model has been initialized, as the view needs to know the number of columns in order to hide column.
showColumn()
, and setColumnHidden()
.
public final int indentation()
public final QModelIndex indexAbove(QModelIndex index)
public final QModelIndex indexBelow(QModelIndex index)
protected final int indexRowSizeHint(QModelIndex index)
sizeHintForColumn()
, and uniformRowHeights()
.
public final boolean isAnimated()
public final boolean isColumnHidden(int column)
hideColumn()
, and isRowHidden()
.
public final boolean isExpanded(QModelIndex index)
expand()
, expanded()
, and setExpanded()
.
public final boolean isFirstColumnSpanned(int row, QModelIndex parent)
setFirstColumnSpanned()
.
public final boolean isHeaderHidden()
header()
.
public final boolean isRowHidden(int row, QModelIndex parent)
setRowHidden()
, and isColumnHidden()
.
public final boolean isSortingEnabled()
Note: In order to avoid performance issues, it is recommended that sorting is enabled after inserting the items into the tree. Alternatively, you could also insert the items into a list before inserting the items into the tree.
sortByColumn()
.
public final boolean itemsExpandable()
public final void resizeColumnToContents(int column)
columnWidth()
, and setColumnWidth()
.
public final boolean rootIsDecorated()
By default, this property is true.
protected final int rowHeight(QModelIndex index)
indexRowSizeHint()
.
protected final void rowsRemoved(QModelIndex parent, int first, int last)
public final void setAllColumnsShowFocus(boolean enable)
The default is false.
public final void setAnimated(boolean enable)
public final void setAutoExpandDelay(int delay)
public final void setColumnHidden(int column, boolean hide)
isColumnHidden()
, hideColumn()
, and setRowHidden()
.
public final void setColumnWidth(int column, int width)
columnWidth()
, and resizeColumnToContents()
.
public final void setExpanded(QModelIndex index, boolean expand)
expanded()
, expand()
, and isExpanded()
.
public final void setExpandsOnDoubleClick(boolean enable)
itemsExpandable
.
public final void setFirstColumnSpanned(int row, QModelIndex parent, boolean span)
isFirstColumnSpanned()
.
public final void setHeader(QHeaderView header)
The view takes ownership over the given header and deletes it when a new header is set.
QAbstractItemModel::headerData()
.
public final void setHeaderHidden(boolean hide)
header()
.
public final void setIndentation(int i)
public final void setItemsExpandable(boolean enable)
public final void setRootIsDecorated(boolean show)
By default, this property is true.
public final void setRowHidden(int row, QModelIndex parent, boolean hide)
isRowHidden()
, and setColumnHidden()
.
public final void setSortingEnabled(boolean enable)
Note: In order to avoid performance issues, it is recommended that sorting is enabled after inserting the items into the tree. Alternatively, you could also insert the items into a list before inserting the items into the tree.
sortByColumn()
.
public final void setUniformRowHeights(boolean uniform)
The height is obtained from the first item in the view. It is updated when the data changes on that item.
public final void setWordWrap(boolean on)
Note that even if wrapping is enabled, the cell will not be expanded to fit all text. Ellipsis will be inserted according to the current textElideMode
.
public final void showColumn(int column)
hideColumn()
, and setColumnHidden()
.
public final void sortByColumn(int column, Qt.SortOrder order)
sortingEnabled
.
public final boolean uniformRowHeights()
The height is obtained from the first item in the view. It is updated when the data changes on that item.
public final boolean wordWrap()
Note that even if wrapping is enabled, the cell will not be expanded to fit all text. Ellipsis will be inserted according to the current textElideMode
.
protected void drawBranches(QPainter painter, QRect rect, QModelIndex index)
protected void drawRow(QPainter painter, QStyleOptionViewItem options, QModelIndex index)
public static QTreeView fromNativePointer(QNativePointer nativePointer)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |