QTreeWidgetItem Class

The QTreeWidgetItem class provides an item for use with the QTreeWidget convenience class. 更多...

头文件: #include <QTreeWidgetItem>
qmake: QT += widgets

公有类型

enum ChildIndicatorPolicy { ShowIndicator, DontShowIndicator, DontShowIndicatorWhenChildless }
enum ItemType { Type, UserType }

公有函数

QTreeWidgetItem(int type = Type)
QTreeWidgetItem(const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidget *parent, QTreeWidgetItem *preceding, int type = Type)
QTreeWidgetItem(QTreeWidgetItem *parent, int type = Type)
QTreeWidgetItem(QTreeWidgetItem *parent, const QStringList &strings, int type = Type)
QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding, int type = Type)
QTreeWidgetItem(const QTreeWidgetItem &other)
virtual ~QTreeWidgetItem()
void addChild(QTreeWidgetItem *child)
void addChildren(const QList<QTreeWidgetItem *> &children)
QBrush background(int column) const
Qt::CheckState checkState(int column) const
QTreeWidgetItem *child(int index) const
int childCount() const
QTreeWidgetItem::ChildIndicatorPolicy childIndicatorPolicy() const
virtual QTreeWidgetItem *clone() const
int columnCount() const
virtual QVariant data(int column, int role) const
Qt::ItemFlags flags() const
QFont font(int column) const
QBrush foreground(int column) const
QIcon icon(int column) const
int indexOfChild(QTreeWidgetItem *child) const
void insertChild(int index, QTreeWidgetItem *child)
void insertChildren(int index, const QList<QTreeWidgetItem *> &children)
bool isDisabled() const
bool isExpanded() const
bool isFirstColumnSpanned() const
bool isHidden() const
bool isSelected() const
QTreeWidgetItem *parent() const
virtual void read(QDataStream &in)
void removeChild(QTreeWidgetItem *child)
void setBackground(int column, const QBrush &brush)
void setCheckState(int column, Qt::CheckState state)
void setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)
virtual void setData(int column, int role, const QVariant &value)
void setDisabled(bool disabled)
void setExpanded(bool expand)
void setFirstColumnSpanned(bool span)
void setFlags(Qt::ItemFlags flags)
void setFont(int column, const QFont &font)
void setForeground(int column, const QBrush &brush)
void setHidden(bool hide)
void setIcon(int column, const QIcon &icon)
void setSelected(bool select)
void setSizeHint(int column, const QSize &size)
void setStatusTip(int column, const QString &statusTip)
void setText(int column, const QString &text)
void setTextAlignment(int column, int alignment)
void setToolTip(int column, const QString &toolTip)
void setWhatsThis(int column, const QString &whatsThis)
QSize sizeHint(int column) const
void sortChildren(int column, Qt::SortOrder order)
QString statusTip(int column) const
QTreeWidgetItem *takeChild(int index)
QList<QTreeWidgetItem *> takeChildren()
QString text(int column) const
int textAlignment(int column) const
QString toolTip(int column) const
QTreeWidget *treeWidget() const
int type() const
QString whatsThis(int column) const
virtual void write(QDataStream &out) const
virtual bool operator<(const QTreeWidgetItem &other) const
QTreeWidgetItem &operator=(const QTreeWidgetItem &other)

受保护的函数

QDataStream &operator<<(QDataStream &out, const QTreeWidgetItem &item)
QDataStream &operator>>(QDataStream &in, QTreeWidgetItem &item)

详细描述

The QTreeWidgetItem class provides an item for use with the QTreeWidget convenience class.

Tree widget items are used to hold rows of information for tree widgets. Rows usually contain several columns of data, each of which can contain a text label and an icon.

The QTreeWidgetItem class is a convenience class that replaces the QListViewItem class in Qt 3. It provides an item for use with the QTreeWidget class.

Items are usually constructed with a parent that is either a QTreeWidget (for top-level items) or a QTreeWidgetItem (for items on lower levels of the tree). For example, the following code constructs a top-level item to represent cities of the world, and adds a entry for Oslo as a child item:


      QTreeWidgetItem *cities = new QTreeWidgetItem(treeWidget);
      cities->setText(0, tr("Cities"));
      QTreeWidgetItem *osloItem = new QTreeWidgetItem(cities);
      osloItem->setText(0, tr("Oslo"));
      osloItem->setText(1, tr("Yes"));

Items can be added in a particular order by specifying the item they follow when they are constructed:


      QTreeWidgetItem *planets = new QTreeWidgetItem(treeWidget, cities);
      planets->setText(0, tr("Planets"));

Each column in an item can have its own background brush which is set with the setBackground() function. The current background brush can be found with background(). The text label for each column can be rendered with its own font and brush. These are specified with the setFont() and setForeground() functions, and read with font() and foreground().

The main difference between top-level items and those in lower levels of the tree is that a top-level item has no parent(). This information can be used to tell the difference between items, and is useful to know when inserting and removing items from the tree. Children of an item can be removed with takeChild() and inserted at a given index in the list of children with the insertChild() function.

By default, items are enabled, selectable, checkable, and can be the source of a drag and drop operation. Each item's flags can be changed by calling setFlags() with the appropriate value (see Qt::ItemFlags). Checkable items can be checked and unchecked with the setCheckState() function. The corresponding checkState() function indicates whether the item is currently checked.

Subclassing

When subclassing QTreeWidgetItem to provide custom items, it is possible to define new types for them so that they can be distinguished from standard items. The constructors for subclasses that require this feature need to call the base class constructor with a new type value equal to or greater than UserType.

参见 QTreeWidget, QTreeWidgetItemIterator, Model/View Programming, QListWidgetItem, and QTableWidgetItem.

成员类型

enum QTreeWidgetItem::ChildIndicatorPolicy

ConstantValueDescription
QTreeWidgetItem::ShowIndicator0The controls for expanding and collapsing will be shown for this item even if there are no children.
QTreeWidgetItem::DontShowIndicator1The controls for expanding and collapsing will never be shown even if there are children. If the node is forced open the user will not be able to expand or collapse the item.
QTreeWidgetItem::DontShowIndicatorWhenChildless2The controls for expanding and collapsing will be shown if the item contains children.

This enum was introduced or modified in Qt 4.3.

enum QTreeWidgetItem::ItemType

This enum describes the types that are used to describe tree widget items.

ConstantValueDescription
QTreeWidgetItem::Type0The default type for tree widget items.
QTreeWidgetItem::UserType1000The minimum value for custom types. Values below UserType are reserved by Qt.

You can define new user types in QTreeWidgetItem subclasses to ensure that custom items are treated specially; for example, when items are sorted.

参见 type().

成员函数

QTreeWidgetItem::QTreeWidgetItem(int type = Type)

Constructs a tree widget item of the specified type. The item must be inserted into a tree widget.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(const QStringList &strings, int type = Type)

Constructs a tree widget item of the specified type. The item must be inserted into a tree widget. The given list of strings will be set as the item text for each column in the item.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *parent, int type = Type)

Constructs a tree widget item of the specified type and appends it to the items in the given parent.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *parent, const QStringList &strings, int type = Type)

Constructs a tree widget item of the specified type and appends it to the items in the given parent. The given list of strings will be set as the item text for each column in the item.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(QTreeWidget *parent, QTreeWidgetItem *preceding, int type = Type)

Constructs a tree widget item of the specified type and inserts it into the given parent after the preceding item.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, int type = Type)

Constructs a tree widget item and append it to the given parent.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, const QStringList &strings, int type = Type)

Constructs a tree widget item and append it to the given parent. The given list of strings will be set as the item text for each column in the item.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(QTreeWidgetItem *parent, QTreeWidgetItem *preceding, int type = Type)

Constructs a tree widget item of the specified type that is inserted into the parent after the preceding child item.

参见 type().

QTreeWidgetItem::QTreeWidgetItem(const QTreeWidgetItem &other)

Constructs a copy of other. Note that type() and treeWidget() are not copied.

This function is useful when reimplementing clone().

This function was introduced in Qt 4.1.

参见 data() and flags().

[virtual] QTreeWidgetItem::~QTreeWidgetItem()

Destroys this tree widget item.

The item will be removed from QTreeWidgets to which it has been added. This makes it safe to delete an item at any time.

void QTreeWidgetItem::addChild(QTreeWidgetItem *child)

Appends the child item to the list of children.

参见 insertChild() and takeChild().

void QTreeWidgetItem::addChildren(const QList<QTreeWidgetItem *> &children)

Appends the given list of children to the item.

This function was introduced in Qt 4.1.

参见 insertChildren() and takeChildren().

QBrush QTreeWidgetItem::background(int column) const

Returns the brush used to render the background of the specified column.

This function was introduced in Qt 4.2.

参见 setBackground() and foreground().

Qt::CheckState QTreeWidgetItem::checkState(int column) const

Returns the check state of the label in the given column.

参见 setCheckState() and Qt::CheckState.

QTreeWidgetItem *QTreeWidgetItem::child(int index) const

Returns the item at the given index in the list of the item's children.

参见 parent().

int QTreeWidgetItem::childCount() const

Returns the number of child items.

QTreeWidgetItem::ChildIndicatorPolicy QTreeWidgetItem::childIndicatorPolicy() const

Returns the item indicator policy. This policy decides when the tree branch expand/collapse indicator is shown.

参见 setChildIndicatorPolicy().

[virtual] QTreeWidgetItem *QTreeWidgetItem::clone() const

Creates a deep copy of the item and of its children.

int QTreeWidgetItem::columnCount() const

Returns the number of columns in the item.

[virtual] QVariant QTreeWidgetItem::data(int column, int role) const

Returns the value for the item's column and role.

参见 setData().

[protected] void QTreeWidgetItem::emitDataChanged()

Causes the model associated with this item to emit a dataChanged() signal for this item.

You normally only need to call this function if you have subclassed QTreeWidgetItem and reimplemented data() and/or setData().

This function was introduced in Qt 4.5.

参见 setData().

Qt::ItemFlags QTreeWidgetItem::flags() const

Returns the flags used to describe the item. These determine whether the item can be checked, edited, and selected.

The default value for flags is Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled.

参见 setFlags().

QFont QTreeWidgetItem::font(int column) const

Returns the font used to render the text in the specified column.

参见 setFont().

QBrush QTreeWidgetItem::foreground(int column) const

Returns the brush used to render the foreground (e.g. text) of the specified column.

This function was introduced in Qt 4.2.

参见 setForeground() and background().

QIcon QTreeWidgetItem::icon(int column) const

Returns the icon that is displayed in the specified column.

参见 setIcon() and iconSize.

int QTreeWidgetItem::indexOfChild(QTreeWidgetItem *child) const

Returns the index of the given child in the item's list of children.

void QTreeWidgetItem::insertChild(int index, QTreeWidgetItem *child)

Inserts the child item at index in the list of children.

If the child has already been inserted somewhere else it won't be inserted again.

void QTreeWidgetItem::insertChildren(int index, const QList<QTreeWidgetItem *> &children)

Inserts the given list of children into the list of the item children at index .

Children that have already been inserted somewhere else won't be inserted.

This function was introduced in Qt 4.1.

bool QTreeWidgetItem::isDisabled() const

Returns true if the item is disabled; otherwise returns false.

This function was introduced in Qt 4.3.

参见 setFlags().

bool QTreeWidgetItem::isExpanded() const

Returns true if the item is expanded, otherwise returns false.

This function was introduced in Qt 4.2.

参见 setExpanded().

bool QTreeWidgetItem::isFirstColumnSpanned() const

Returns true if the item is spanning all the columns in a row; otherwise returns false.

This function was introduced in Qt 4.3.

参见 setFirstColumnSpanned().

bool QTreeWidgetItem::isHidden() const

Returns true if the item is hidden, otherwise returns false.

This function was introduced in Qt 4.2.

参见 setHidden().

bool QTreeWidgetItem::isSelected() const

Returns true if the item is selected, otherwise returns false.

This function was introduced in Qt 4.2.

参见 setSelected().

QTreeWidgetItem *QTreeWidgetItem::parent() const

Returns the item's parent.

参见 child().

[virtual] void QTreeWidgetItem::read(QDataStream &in)

Reads the item from stream in. This only reads data into a single item.

参见 write().

void QTreeWidgetItem::removeChild(QTreeWidgetItem *child)

Removes the given item indicated by child. The removed item will not be deleted.

void QTreeWidgetItem::setBackground(int column, const QBrush &brush)

Sets the background brush of the label in the given column to the specified brush.

This function was introduced in Qt 4.2.

参见 background() and setForeground().

void QTreeWidgetItem::setCheckState(int column, Qt::CheckState state)

Sets the item in the given column check state to be state.

参见 checkState().

void QTreeWidgetItem::setChildIndicatorPolicy(QTreeWidgetItem::ChildIndicatorPolicy policy)

Sets the item indicator policy. This policy decides when the tree branch expand/collapse indicator is shown. The default value is ShowForChildren.

参见 childIndicatorPolicy().

[virtual] void QTreeWidgetItem::setData(int column, int role, const QVariant &value)

Sets the value for the item's column and role to the given value.

The role describes the type of data specified by value, and is defined by the Qt::ItemDataRole enum.

参见 data().

void QTreeWidgetItem::setDisabled(bool disabled)

Disables the item if disabled is true; otherwise enables the item.

This function was introduced in Qt 4.3.

参见 isDisabled() and setFlags().

void QTreeWidgetItem::setExpanded(bool expand)

Expands the item if expand is true, otherwise collapses the item.

Warning: The QTreeWidgetItem must be added to the QTreeWidget before calling this function.

This function was introduced in Qt 4.2.

参见 isExpanded().

void QTreeWidgetItem::setFirstColumnSpanned(bool span)

Sets the first section to span all columns if span is true; otherwise all item sections are shown.

This function was introduced in Qt 4.3.

参见 isFirstColumnSpanned().

void QTreeWidgetItem::setFlags(Qt::ItemFlags flags)

Sets the flags for the item to the given flags. These determine whether the item can be selected or modified. This is often used to disable an item.

参见 flags().

void QTreeWidgetItem::setFont(int column, const QFont &font)

Sets the font used to display the text in the given column to the given font.

参见 font(), setText(), and setForeground().

void QTreeWidgetItem::setForeground(int column, const QBrush &brush)

Sets the foreground brush of the label in the given column to the specified brush.

This function was introduced in Qt 4.2.

参见 foreground() and setBackground().

void QTreeWidgetItem::setHidden(bool hide)

Hides the item if hide is true, otherwise shows the item.

Note: A call to this function has no effect if the item is not currently in a view. In particular, calling setHidden(true) on an item and only then adding it to a view will result in a visible item.

This function was introduced in Qt 4.2.

参见 isHidden().

void QTreeWidgetItem::setIcon(int column, const QIcon &icon)

Sets the icon to be displayed in the given column to icon.

参见 icon(), setText(), and iconSize.

void QTreeWidgetItem::setSelected(bool select)

Sets the selected state of the item to select.

This function was introduced in Qt 4.2.

参见 isSelected().

void QTreeWidgetItem::setSizeHint(int column, const QSize &size)

Sets the size hint for the tree item in the given column to be size. If no size hint is set, the item delegate will compute the size hint based on the item data.

This function was introduced in Qt 4.1.

参见 sizeHint().

void QTreeWidgetItem::setStatusTip(int column, const QString &statusTip)

Sets the status tip for the given column to the given statusTip. QTreeWidget mouse tracking needs to be enabled for this feature to work.

参见 statusTip(), setToolTip(), and setWhatsThis().

void QTreeWidgetItem::setText(int column, const QString &text)

Sets the text to be displayed in the given column to the given text.

参见 text(), setFont(), and setForeground().

void QTreeWidgetItem::setTextAlignment(int column, int alignment)

Sets the text alignment for the label in the given column to the alignment specified (see Qt::AlignmentFlag).

参见 textAlignment().

void QTreeWidgetItem::setToolTip(int column, const QString &toolTip)

Sets the tooltip for the given column to toolTip.

参见 toolTip(), setStatusTip(), and setWhatsThis().

void QTreeWidgetItem::setWhatsThis(int column, const QString &whatsThis)

Sets the "What's This?" help for the given column to whatsThis.

参见 whatsThis(), setStatusTip(), and setToolTip().

QSize QTreeWidgetItem::sizeHint(int column) const

Returns the size hint set for the tree item in the given column (see QSize).

This function was introduced in Qt 4.1.

参见 setSizeHint().

void QTreeWidgetItem::sortChildren(int column, Qt::SortOrder order)

Sorts the children of the item using the given order, by the values in the given column.

Note: This function does nothing if the item is not associated with a QTreeWidget.

This function was introduced in Qt 4.2.

QString QTreeWidgetItem::statusTip(int column) const

Returns the status tip for the contents of the given column.

参见 setStatusTip().

QTreeWidgetItem *QTreeWidgetItem::takeChild(int index)

Removes the item at index and returns it, otherwise return 0.

QList<QTreeWidgetItem *> QTreeWidgetItem::takeChildren()

Removes the list of children and returns it, otherwise returns an empty list.

This function was introduced in Qt 4.1.

QString QTreeWidgetItem::text(int column) const

Returns the text in the specified column.

参见 setText().

int QTreeWidgetItem::textAlignment(int column) const

Returns the text alignment for the label in the given column (see Qt::AlignmentFlag).

参见 setTextAlignment().

QString QTreeWidgetItem::toolTip(int column) const

Returns the tool tip for the given column.

参见 setToolTip().

QTreeWidget *QTreeWidgetItem::treeWidget() const

Returns the tree widget that contains the item.

int QTreeWidgetItem::type() const

Returns the type passed to the QTreeWidgetItem constructor.

QString QTreeWidgetItem::whatsThis(int column) const

Returns the "What's This?" help for the contents of the given column.

参见 setWhatsThis().

[virtual] void QTreeWidgetItem::write(QDataStream &out) const

Writes the item to stream out. This only writes data from one single item.

参见 read().

[virtual] bool QTreeWidgetItem::operator<(const QTreeWidgetItem &other) const

Returns true if the text in the item is less than the text in the other item, otherwise returns false.

QTreeWidgetItem &QTreeWidgetItem::operator=(const QTreeWidgetItem &other)

Assigns other's data and flags to this item. Note that type() and treeWidget() are not copied.

This function is useful when reimplementing clone().

参见 data() and flags().

相关非成员

QDataStream &operator<<(QDataStream &out, const QTreeWidgetItem &item)

Writes the tree widget item item to stream out.

This operator uses QTreeWidgetItem::write().

参见 Serializing Qt Data Types.

QDataStream &operator>>(QDataStream &in, QTreeWidgetItem &item)

Reads a tree widget item from stream in into item.

This operator uses QTreeWidgetItem::read().

参见 Serializing Qt Data Types.