QtBase
v6.3.1
|
The QStandardItem class provides an item for use with the QStandardItemModel class. More...
#include <qstandarditemmodel.h>
Public Types | |
enum | ItemType { Type = 0 , UserType = 1000 } |
Protected Member Functions | |
QStandardItem (const QStandardItem &other) | |
QStandardItem (QStandardItemPrivate &dd) | |
QStandardItem & | operator= (const QStandardItem &other) |
void | emitDataChanged () |
Protected Attributes | |
QScopedPointer< QStandardItemPrivate > | d_ptr |
Friends | |
class | QStandardItemModelPrivate |
class | QStandardItemModel |
Related Functions | |
(Note that these are not member functions.) | |
QDataStream & | operator>> (QDataStream &in, QStandardItem &item) |
QDataStream & | operator<< (QDataStream &out, const QStandardItem &item) |
The QStandardItem class provides an item for use with the QStandardItemModel class.
\inmodule QtGui
Items usually contain text, icons, or checkboxes.
Each 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 item can be rendered with its own font and brush. These are specified with the setFont() and setForeground() functions, and read with font() and foreground().
By default, items are enabled, editable, selectable, checkable, and can be used both as the source of a drag and drop operation and as a drop target. Each item's flags can be changed by calling setFlags(). Checkable items can be checked and unchecked with the setCheckState() function. The corresponding checkState() function indicates whether the item is currently checked.
You can store application-specific data in an item by calling setData().
Each item can have a two-dimensional table of child items. This makes it possible to build hierarchies of items. The typical hierarchy is the tree, in which case the child table is a table with a single column (a list).
The dimensions of the child table can be set with setRowCount() and setColumnCount(). Items can be positioned in the child table with setChild(). Get a pointer to a child item with child(). New rows and columns of children can also be inserted with insertRow() and insertColumn(), or appended with appendRow() and appendColumn(). When using the append and insert functions, the dimensions of the child table will grow as needed.
An existing row of children can be removed with removeRow() or takeRow(); correspondingly, a column can be removed with removeColumn() or takeColumn().
An item's children can be sorted by calling sortChildren().
Definition at line 59 of file qstandarditemmodel.h.
This enum describes the types that are used to describe standard items.
\value Type The default type for standard items. \value UserType The minimum value for custom types. Values below UserType are reserved by Qt.
You can define new user types in QStandardItem subclasses to ensure that custom items are treated specially; for example, when items are sorted.
Enumerator | |
---|---|
Type | |
UserType |
Definition at line 228 of file qstandarditemmodel.h.
QStandardItem::QStandardItem | ( | ) |
Constructs an item.
Definition at line 802 of file qstandarditemmodel.cpp.
Constructs an item with the given text.
Definition at line 810 of file qstandarditemmodel.cpp.
Constructs an item with the given icon and text.
Definition at line 819 of file qstandarditemmodel.cpp.
|
explicit |
Constructs an item with rows rows and columns columns of child items.
Definition at line 828 of file qstandarditemmodel.cpp.
|
virtual |
Destructs the item. This causes the item's children to be destructed as well.
Definition at line 876 of file qstandarditemmodel.cpp.
|
protected |
Constructs a copy of other. Note that model() is not copied.
This function is useful when reimplementing clone().
Definition at line 851 of file qstandarditemmodel.cpp.
|
protected |
Definition at line 838 of file qstandarditemmodel.cpp.
|
inline |
Returns the item's accessible description.
The accessible description is used by assistive technologies (i.e. for users who cannot use conventional means of interaction).
Definition at line 137 of file qstandarditemmodel.h.
|
inline |
Returns the item's accessible text.
The accessible text is used by assistive technologies (i.e. for users who cannot use conventional means of interaction).
Definition at line 132 of file qstandarditemmodel.h.
|
inline |
Appends a column containing items. If necessary, the row count is increased to the size of items.
Definition at line 303 of file qstandarditemmodel.h.
|
inline |
Appends a row containing items. If necessary, the column count is increased to the size of items.
Definition at line 297 of file qstandarditemmodel.h.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Appends a row containing item.
When building a list or a tree that has only one column, this function provides a convenient way to append a single new item.
Definition at line 309 of file qstandarditemmodel.h.
|
inline |
Appends rows containing items. The column count will not change.
Definition at line 300 of file qstandarditemmodel.h.
|
inline |
Returns the brush used to render the item's background.
Definition at line 117 of file qstandarditemmodel.h.
|
inline |
Returns the checked state of the item.
Definition at line 127 of file qstandarditemmodel.h.
QStandardItem * QStandardItem::child | ( | int | row, |
int | column = 0 |
||
) | const |
Returns the child item at (row, column) if one has been set; otherwise returns \nullptr.
Definition at line 1871 of file qstandarditemmodel.cpp.
void QStandardItem::clearData | ( | ) |
Definition at line 950 of file qstandarditemmodel.cpp.
|
virtual |
Returns a copy of this item. The item's children are not copied.
When subclassing QStandardItem, you can reimplement this function to provide QStandardItemModel with a factory that it can use to create new items on demand.
Reimplemented in CustomItem, and CustomItem.
Definition at line 2048 of file qstandarditemmodel.cpp.
int QStandardItem::column | ( | ) | const |
Returns the column where the item is located in its parent's child table, or -1 if the item has no parent.
Definition at line 1521 of file qstandarditemmodel.cpp.
int QStandardItem::columnCount | ( | ) | const |
Returns the number of child item columns that the item has.
Definition at line 1610 of file qstandarditemmodel.cpp.
|
virtual |
Returns the item's data for the given role, or an invalid QVariant if there is no data for the role.
Definition at line 967 of file qstandarditemmodel.cpp.
|
protected |
Causes the model associated with this item to emit a \l{QAbstractItemModel::dataChanged()}{dataChanged}() signal for this item.
You normally only need to call this function if you have subclassed QStandardItem and reimplemented data() and/or setData().
Definition at line 1006 of file qstandarditemmodel.cpp.
Qt::ItemFlags QStandardItem::flags | ( | ) | const |
Returns the item flags for the item.
The item flags determine how the user can interact with the item.
By default, items are enabled, editable, selectable, checkable, and can be used both as the source of a drag and drop operation and as a drop target.
Definition at line 1036 of file qstandarditemmodel.cpp.
|
inline |
Returns the font used to render the item's text.
Definition at line 107 of file qstandarditemmodel.h.
|
inline |
Returns the brush used to render the item's foreground (e.g. text).
Definition at line 122 of file qstandarditemmodel.h.
bool QStandardItem::hasChildren | ( | ) | const |
Returns true
if this item has any children; otherwise returns false
.
Definition at line 1838 of file qstandarditemmodel.cpp.
|
inline |
Returns the item's icon.
Definition at line 78 of file qstandarditemmodel.h.
QModelIndex QStandardItem::index | ( | ) | const |
Returns the QModelIndex associated with this item.
When you need to invoke item functionality in a QModelIndex-based API (e.g. QAbstractItemView), you can call this function to obtain an index that corresponds to the item's location in the model.
If the item is not associated with a model, an invalid QModelIndex is returned.
Definition at line 1540 of file qstandarditemmodel.cpp.
void QStandardItem::insertColumn | ( | int | column, |
const QList< QStandardItem * > & | items | ||
) |
Inserts a column at column containing items. If necessary, the row count is increased to the size of items.
Definition at line 1651 of file qstandarditemmodel.cpp.
void QStandardItem::insertColumns | ( | int | column, |
int | count | ||
) |
Inserts count columns of child items at column column.
Definition at line 1681 of file qstandarditemmodel.cpp.
void QStandardItem::insertRow | ( | int | row, |
const QList< QStandardItem * > & | items | ||
) |
Inserts a row at row containing items. If necessary, the column count is increased to the size of items.
Definition at line 1622 of file qstandarditemmodel.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Inserts a row at row containing item.
When building a list or a tree that has only one column, this function provides a convenient way to insert a single new item.
Definition at line 306 of file qstandarditemmodel.h.
void QStandardItem::insertRows | ( | int | row, |
const QList< QStandardItem * > & | items | ||
) |
Inserts items at row. The column count won't be changed.
Definition at line 1637 of file qstandarditemmodel.cpp.
void QStandardItem::insertRows | ( | int | row, |
int | count | ||
) |
Inserts count rows of child items at row row.
Definition at line 1666 of file qstandarditemmodel.cpp.
|
inline |
Returns whether the item is tristate and is controlled by QTreeWidget.
The default value is false.
Definition at line 165 of file qstandarditemmodel.h.
|
inline |
Returns whether the item is user-checkable.
The default value is false.
Definition at line 160 of file qstandarditemmodel.h.
|
inline |
Returns whether the item can be edited by the user.
When an item is editable (and enabled), the user can edit the item by invoking one of the view's edit triggers; see QAbstractItemView::editTriggers.
The default value is true.
Definition at line 150 of file qstandarditemmodel.h.
|
inline |
Returns whether the item is enabled.
When an item is enabled, the user can interact with it. The possible types of interaction are specified by the other item flags, such as isEditable() and isSelectable().
The default value is true.
Definition at line 145 of file qstandarditemmodel.h.
|
inline |
Returns whether the item is selectable by the user.
The default value is true.
Definition at line 155 of file qstandarditemmodel.h.
|
inline |
Returns whether the item is tristate; that is, if it's checkable with three separate states and the user can cycle through all three states.
The default value is false.
Definition at line 170 of file qstandarditemmodel.h.
QStandardItemModel * QStandardItem::model | ( | ) | const |
Returns the QStandardItemModel that this item belongs to.
If the item is not a child of another item that belongs to the model, this function returns \nullptr.
Definition at line 1554 of file qstandarditemmodel.cpp.
|
virtual |
Fills the roleDataSpan span with the data from this item.
The default implementation simply calls data() for each role in the span.
Definition at line 988 of file qstandarditemmodel.cpp.
|
virtual |
Returns true
if this item is less than other; otherwise returns false
.
The default implementation uses the data for the item's sort role (see QStandardItemModel::sortRole) to perform the comparison if the item belongs to a model; otherwise, the data for the item's Qt::DisplayRole (text()) is used to perform the comparison.
sortChildren() and QStandardItemModel::sort() use this function when sorting items. If you want custom sorting, you can subclass QStandardItem and reimplement this function.
Reimplemented in CustomItem.
Definition at line 2007 of file qstandarditemmodel.cpp.
|
protected |
Assigns other's data and flags to this item. Note that type() and model() are not copied.
This function is useful when reimplementing clone().
Definition at line 865 of file qstandarditemmodel.cpp.
QStandardItem * QStandardItem::parent | ( | ) | const |
Returns the item's parent item, or \nullptr if the item has no parent.
Definition at line 896 of file qstandarditemmodel.cpp.
|
virtual |
Reads the item from stream in. Only the data and flags of the item are read, not the child items.
Definition at line 2074 of file qstandarditemmodel.cpp.
void QStandardItem::removeColumn | ( | int | column | ) |
Removes the given column. The items that were in the column are deleted.
Definition at line 1773 of file qstandarditemmodel.cpp.
void QStandardItem::removeColumns | ( | int | column, |
int | count | ||
) |
Removes count columns at column column. The items that were in those columns are deleted.
Definition at line 1811 of file qstandarditemmodel.cpp.
void QStandardItem::removeRow | ( | int | row | ) |
Removes the given row. The items that were in the row are deleted.
Definition at line 1762 of file qstandarditemmodel.cpp.
void QStandardItem::removeRows | ( | int | row, |
int | count | ||
) |
Removes count rows at row row. The items that were in those rows are deleted.
Definition at line 1784 of file qstandarditemmodel.cpp.
int QStandardItem::row | ( | ) | const |
Returns the row where the item is located in its parent's child table, or -1 if the item has no parent.
Definition at line 1508 of file qstandarditemmodel.cpp.
int QStandardItem::rowCount | ( | ) | const |
Returns the number of child item rows that the item has.
Definition at line 1582 of file qstandarditemmodel.cpp.
Sets the item's accessible description to the string specified by accessibleDescription.
The accessible description is used by assistive technologies (i.e. for users who cannot use conventional means of interaction).
Definition at line 291 of file qstandarditemmodel.h.
Sets the item's accessible text to the string specified by accessibleText.
The accessible text is used by assistive technologies (i.e. for users who cannot use conventional means of interaction).
Definition at line 288 of file qstandarditemmodel.h.
void QStandardItem::setAutoTristate | ( | bool | tristate | ) |
Determines that the item is tristate and controlled by QTreeWidget if tristate is true
. This enables automatic management of the state of parent items in QTreeWidget (checked if all children are checked, unchecked if all children are unchecked, or partially checked if only some children are checked).
Definition at line 1398 of file qstandarditemmodel.cpp.
Sets the item's background brush to the specified brush.
Definition at line 279 of file qstandarditemmodel.h.
void QStandardItem::setCheckable | ( | bool | checkable | ) |
Sets whether the item is user-checkable. If checkable is true, the item can be checked by the user; otherwise, the user cannot check the item.
The item delegate will render a checkable item with a check box next to the item's text.
Definition at line 1367 of file qstandarditemmodel.cpp.
|
inline |
Sets the check state of the item to be state.
Definition at line 285 of file qstandarditemmodel.h.
void QStandardItem::setChild | ( | int | row, |
int | column, | ||
QStandardItem * | item | ||
) |
Sets the child item at (row, column) to item. This item (the parent item) takes ownership of item. If necessary, the row count and column count are increased to fit the item.
Definition at line 1852 of file qstandarditemmodel.cpp.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sets the child at row to item.
Definition at line 294 of file qstandarditemmodel.h.
void QStandardItem::setColumnCount | ( | int | columns | ) |
Sets the number of child item columns to columns. If this is less than columnCount(), the data in the unwanted columns is discarded.
Definition at line 1594 of file qstandarditemmodel.cpp.
|
virtual |
Sets the item's data for the given role to the specified value.
If you subclass QStandardItem and reimplement this function, your reimplementation should call emitDataChanged() if you do not call the base implementation of setData(). This will ensure that e.g. views using the model are notified of the changes.
Definition at line 917 of file qstandarditemmodel.cpp.
void QStandardItem::setEditable | ( | bool | editable | ) |
Sets whether the item is editable. If editable is true, the item can be edited by the user; otherwise, the user cannot edit the item.
How the user can edit items in a view is determined by the view's edit triggers; see QAbstractItemView::editTriggers.
Definition at line 1311 of file qstandarditemmodel.cpp.
void QStandardItem::setEnabled | ( | bool | enabled | ) |
Sets whether the item is enabled. If enabled is true, the item is enabled, meaning that the user can interact with the item; if enabled is false, the user cannot interact with the item.
This flag takes precedence over the other item flags; e.g. if an item is not enabled, it cannot be selected by the user, even if the Qt::ItemIsSelectable flag has been set.
Definition at line 1282 of file qstandarditemmodel.cpp.
void QStandardItem::setFlags | ( | Qt::ItemFlags | flags | ) |
Sets the item flags for the item to flags.
The item flags determine how the user can interact with the item. This is often used to disable an item.
Definition at line 1021 of file qstandarditemmodel.cpp.
Sets the font used to display the item's text to the given font.
Definition at line 273 of file qstandarditemmodel.h.
Sets the brush used to display the item's foreground (e.g. text) to the given brush.
Definition at line 282 of file qstandarditemmodel.h.
Sets the item's icon to the icon specified.
Definition at line 254 of file qstandarditemmodel.h.
void QStandardItem::setRowCount | ( | int | rows | ) |
Sets the number of child item rows to rows. If this is less than rowCount(), the data in the unwanted rows is discarded.
Definition at line 1566 of file qstandarditemmodel.cpp.
void QStandardItem::setSelectable | ( | bool | selectable | ) |
Sets whether the item is selectable. If selectable is true, the item can be selected by the user; otherwise, the user cannot select the item.
You can control the selection behavior and mode by manipulating their view properties; see QAbstractItemView::selectionMode and QAbstractItemView::selectionBehavior.
Definition at line 1341 of file qstandarditemmodel.cpp.
Sets the size hint for the item to be size. If no size hint is set, the item delegate will compute the size hint based on the item data.
Definition at line 270 of file qstandarditemmodel.h.
Sets the item's status tip to the string specified by statusTip.
Definition at line 261 of file qstandarditemmodel.h.
Sets the item's text to the text specified.
Definition at line 251 of file qstandarditemmodel.h.
|
inline |
Sets the text alignment for the item's text to the alignment specified.
Definition at line 276 of file qstandarditemmodel.h.
Sets the item's tooltip to the string specified by toolTip.
Definition at line 257 of file qstandarditemmodel.h.
void QStandardItem::setUserTristate | ( | bool | tristate | ) |
Sets whether the item is tristate and controlled by the user. If tristate is true, the user can cycle through three separate states; otherwise, the item is checkable with two states. (Note that this also requires that the item is checkable; see isCheckable().)
Definition at line 1424 of file qstandarditemmodel.cpp.
|
inline |
Returns the size hint set for the item, or an invalid QSize if no size hint has been set.
If no size hint has been set, the item delegate will compute the size hint based on the item data.
Definition at line 102 of file qstandarditemmodel.h.
void QStandardItem::sortChildren | ( | int | column, |
Qt::SortOrder | order = Qt::AscendingOrder |
||
) |
Sorts the children of the item using the given order, by the values in the given column.
Definition at line 2023 of file qstandarditemmodel.cpp.
|
inline |
Returns the item's status tip.
Definition at line 89 of file qstandarditemmodel.h.
QStandardItem * QStandardItem::takeChild | ( | int | row, |
int | column = 0 |
||
) |
Removes the child item at (row, column) without deleting it, and returns a pointer to the item. If there was no child at the given location, then this function returns \nullptr.
Note that this function, unlike takeRow() and takeColumn(), does not affect the dimensions of the child table.
Definition at line 1890 of file qstandarditemmodel.cpp.
QList< QStandardItem * > QStandardItem::takeColumn | ( | int | column | ) |
Removes column without deleting the column items, and returns a list of pointers to the removed items. For items in the column that have not been set, the corresponding pointers in the list will be \nullptr.
Definition at line 1970 of file qstandarditemmodel.cpp.
QList< QStandardItem * > QStandardItem::takeRow | ( | int | row | ) |
Removes row without deleting the row items, and returns a list of pointers to the removed items. For items in the row that have not been set, the corresponding pointers in the list will be \nullptr.
Definition at line 1936 of file qstandarditemmodel.cpp.
|
inline |
Returns the item's text. This is the text that's presented to the user in a view.
Definition at line 73 of file qstandarditemmodel.h.
|
inline |
Returns the text alignment for the item's text.
Definition at line 112 of file qstandarditemmodel.h.
|
inline |
Returns the item's tooltip.
Definition at line 83 of file qstandarditemmodel.h.
|
virtual |
Returns the type of this item. The type is used to distinguish custom items from the base class. When subclassing QStandardItem, you should reimplement this function and return a new value greater than or equal to \l UserType.
Reimplemented in CustomItem, CustomItem, CustomItem, and CustomItem.
Definition at line 2061 of file qstandarditemmodel.cpp.
|
virtual |
Writes the item to stream out. Only the data and flags of the item are written, not the child items.
Definition at line 2089 of file qstandarditemmodel.cpp.
|
related |
Writes the QStandardItem item to stream out.
This operator uses QStandardItem::write().
Definition at line 2122 of file qstandarditemmodel.cpp.
|
related |
Reads a QStandardItem from stream in into item.
This operator uses QStandardItem::read().
Definition at line 2106 of file qstandarditemmodel.cpp.
|
friend |
Definition at line 248 of file qstandarditemmodel.h.
|
friend |
Definition at line 247 of file qstandarditemmodel.h.
|
protected |
Definition at line 241 of file qstandarditemmodel.h.