QStandardItem Class
QStandardItem 类提供了一个可与QStandardItemModel 类配合使用的项目。更多内容...
| 头文件: | #include <QStandardItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
公共类型
| enum | ItemType { Type, UserType } |
公共函数
| QStandardItem() | |
| QStandardItem(const QString &text) | |
| QStandardItem(const QIcon &icon, const QString &text) | |
| QStandardItem(int rows, int columns = 1) | |
| virtual | ~QStandardItem() |
| QString | accessibleDescription() const |
| QString | accessibleText() const |
| void | appendColumn(const QList<QStandardItem *> &items) |
| void | appendRow(const QList<QStandardItem *> &items) |
| void | appendRow(QStandardItem *item) |
| void | appendRows(const QList<QStandardItem *> &items) |
| QBrush | background() const |
| Qt::CheckState | checkState() const |
| QStandardItem * | child(int row, int column = 0) const |
| void | clearData() |
| virtual QStandardItem * | clone() const |
| int | column() const |
| int | columnCount() const |
| virtual QVariant | data(int role = Qt::UserRole + 1) const |
| Qt::ItemFlags | flags() const |
| QFont | font() const |
| QBrush | foreground() const |
| bool | hasChildren() const |
| QIcon | icon() const |
| QModelIndex | index() const |
| void | insertColumn(int column, const QList<QStandardItem *> &items) |
| void | insertColumns(int column, int count) |
| void | insertRow(int row, const QList<QStandardItem *> &items) |
| void | insertRow(int row, QStandardItem *item) |
| void | insertRows(int row, const QList<QStandardItem *> &items) |
| void | insertRows(int row, int count) |
| bool | isAutoTristate() const |
| bool | isCheckable() const |
| bool | isDragEnabled() const |
| bool | isDropEnabled() const |
| bool | isEditable() const |
| bool | isEnabled() const |
| bool | isSelectable() const |
| bool | isUserTristate() const |
| QStandardItemModel * | model() const |
(since 6.0) virtual void | multiData(QModelRoleDataSpan roleDataSpan) const |
| QStandardItem * | parent() const |
| virtual void | read(QDataStream &in) |
| void | removeColumn(int column) |
| void | removeColumns(int column, int count) |
| void | removeRow(int row) |
| void | removeRows(int row, int count) |
| int | row() const |
| int | rowCount() const |
| void | setAccessibleDescription(const QString &accessibleDescription) |
| void | setAccessibleText(const QString &accessibleText) |
| void | setAutoTristate(bool tristate) |
| void | setBackground(const QBrush &brush) |
| void | setCheckState(Qt::CheckState state) |
| void | setCheckable(bool checkable) |
| void | setChild(int row, int column, QStandardItem *item) |
| void | setChild(int row, QStandardItem *item) |
| void | setColumnCount(int columns) |
| virtual void | setData(const QVariant &value, int role = Qt::UserRole + 1) |
| void | setDragEnabled(bool dragEnabled) |
| void | setDropEnabled(bool dropEnabled) |
| void | setEditable(bool editable) |
| void | setEnabled(bool enabled) |
| void | setFlags(Qt::ItemFlags flags) |
| void | setFont(const QFont &font) |
| void | setForeground(const QBrush &brush) |
| void | setIcon(const QIcon &icon) |
| void | setRowCount(int rows) |
| void | setSelectable(bool selectable) |
| void | setSizeHint(const QSize &size) |
| void | setStatusTip(const QString &statusTip) |
| void | setText(const QString &text) |
| void | setTextAlignment(Qt::Alignment alignment) |
| void | setToolTip(const QString &toolTip) |
| void | setUserTristate(bool tristate) |
| void | setWhatsThis(const QString &whatsThis) |
| QSize | sizeHint() const |
| void | sortChildren(int column, Qt::SortOrder order = Qt::AscendingOrder) |
| QString | statusTip() const |
| QStandardItem * | takeChild(int row, int column = 0) |
| QList<QStandardItem *> | takeColumn(int column) |
| QList<QStandardItem *> | takeRow(int row) |
| QString | text() const |
| Qt::Alignment | textAlignment() const |
| QString | toolTip() const |
| virtual int | type() const |
| QString | whatsThis() const |
| virtual void | write(QDataStream &out) const |
| virtual bool | operator<(const QStandardItem &other) const |
受保护函数
| QStandardItem(const QStandardItem &other) | |
| void | emitDataChanged() |
| QStandardItem & | operator=(const QStandardItem &other) |
相关的非成员
| QDataStream & | operator<<(QDataStream &out, const QStandardItem &item) |
| QDataStream & | operator>>(QDataStream &in, QStandardItem &item) |
详细说明
项目通常包含文本、图标或复选框。
每个项目都可以拥有自己的背景笔刷,该笔刷通过setBackground()函数设置。当前的背景笔刷可通过background()获取。每个项目的文本标签都可以使用其自身的字体和笔刷进行渲染。这些通过setFont()和setForeground()函数指定,并通过font()和foreground()读取。
默认情况下,项目处于启用状态,可编辑、可选中、可勾选,并且既可作为拖放操作的源,也可作为拖放目标。可通过调用setFlags()函数来更改每个项目的标志。 可通过setCheckState()函数对可选中项进行选中或取消选中操作。相应的checkState()函数用于指示该项当前是否处于选中状态。
您可以通过调用setData() 函数,在项目中存储应用程序特有的数据。
每个项目都可以拥有一个包含子项目的二维表。这使得构建项目的层次结构成为可能。典型的层次结构是树,在这种情况下,子表是一个单列表(即列表)。
子表的维度可通过setRowCount() 和setColumnCount() 进行设置。可使用setChild() 将项目定位到子表中。 可通过child() 获取子项的指针。还可以使用insertRow() 和insertColumn() 插入新的子项行和列,或使用appendRow() 和appendColumn() 追加子项。使用追加和插入函数时,子表的维度将根据需要自动扩展。
可通过removeRow()或takeRow()移除现有的一行子项;相应地,可通过removeColumn()或takeColumn()移除一列。
可以通过调用sortChildren()对项目的子项进行排序。
子类化
在继承 QStandardItem 以提供自定义项时,可以为其定义新类型,以便将其与基类区分开来。应重写type() 函数,使其返回一个新类型的值,该值应等于或大于UserType 。
若需对数据查询进行自定义处理和/或控制项数据的表示方式,请重写data() 和setData() 方法。
若希望 `QStandardItemModel ` 能按需创建自定义项类的实例,请重写 `clone()`(参见 `QStandardItemModel::setItemPrototype()`)。
若需控制项目在序列化形式中的表示方式,请重写 `read()` 和 `write()`。
若需控制项的比较语义,请重写operator<()。operator<() 用于确定使用sortChildren() 或QStandardItemModel::sort() 对项进行排序时的排序顺序。
另请参阅 QStandardItemModel 、项视图便捷类以及模型/视图编程。
成员类型文档
enum QStandardItem::ItemType
此枚举描述了用于描述标准项目的类型。
| 常量 | 值 | 描述 |
|---|---|---|
QStandardItem::Type | 0 | 标准项的默认类型。 |
QStandardItem::UserType | 1000 | 自定义类型的最小值。小于 UserType 的值由 Qt 保留。 |
您可以在QStandardItem 的子类中定义新的用户类型,以确保自定义项目得到特殊处理;例如,在对项目进行排序时。
另请参阅 type()。
成员函数文档
QStandardItem::QStandardItem()
创建一个项目。
[explicit] QStandardItem::QStandardItem(const QString &text)
根据给定的text 构建一个项。
QStandardItem::QStandardItem(const QIcon &icon, const QString &text)
根据给定的icon 和text 创建一个项。
[explicit] QStandardItem::QStandardItem(int rows, int columns = 1)
创建一个包含rows 行和columns 列子项的项。
[protected] QStandardItem::QStandardItem(const QStandardItem &other)
构建other 的副本。请注意,model()不会被复制。
在重写clone() 时,此函数非常有用。
[virtual noexcept] QStandardItem::~QStandardItem()
销毁该项。这会导致该项的子项也被销毁。
QString QStandardItem::accessibleDescription() const
返回该项目的无障碍描述。
辅助技术会使用该可访问描述(即适用于无法使用常规交互方式的用户)。
另请参阅 setAccessibleDescription() 和accessibleText()。
QString QStandardItem::accessibleText() const
返回该项目的可访问文本。
辅助技术会使用该可访问文本(即供无法使用常规交互方式的用户使用)。
另请参阅 setAccessibleText() 和accessibleDescription()。
void QStandardItem::appendColumn(const QList<QStandardItem *> &items)
追加一列,其中包含items 。如有必要,行数将增加至items 的大小。
另请参阅 insertColumn()。
void QStandardItem::appendRow(const QList<QStandardItem *> &items)
在表尾追加一行,该行包含items 。如有必要,列数将增加至items 的大小。
另请参阅 insertRow()。
void QStandardItem::appendRow(QStandardItem *item)
向列表或树中追加一行,该行包含item 。
在构建仅含一列的列表或树时,此函数提供了一种便捷的方式来追加单个新项。
这是一个重载函数。
void QStandardItem::appendRows(const QList<QStandardItem *> &items)
追加包含items 的行。列数不会改变。
另请参阅 insertRow()。
QBrush QStandardItem::background() const
返回用于渲染该项背景的画笔。
另请参阅 foreground() 和setBackground()。
Qt::CheckState QStandardItem::checkState() const
返回该项的选中状态。
另请参阅 setCheckState() 和isCheckable()。
QStandardItem *QStandardItem::child(int row, int column = 0) const
如果已设置子项,则返回位于 (row,column) 的子项;否则返回nullptr 。
另请参阅 setChild()、takeChild() 和parent()。
void QStandardItem::clearData()
删除先前设置的所有角色中的所有数据。
[virtual] QStandardItem *QStandardItem::clone() const
返回该项的副本。该项的子项不会被复制。
在继承 `QStandardItem` 时,您可以重写此函数,为 `QStandardItemModel ` 提供一个工厂,使其能够按需创建新项。
另请参阅 ` QStandardItemModel::setItemPrototype()` 和 `operator=()`。
int QStandardItem::column() const
返回该项在其父表的子表中所处的列;如果该项没有父表,则返回 -1。
int QStandardItem::columnCount() const
返回该项目拥有的子项目列的数量。
另请参阅 setColumnCount() 和rowCount()。
[virtual] QVariant QStandardItem::data(int role = Qt::UserRole + 1) const
返回给定角色role 对应的项目数据;如果该角色没有数据,则返回无效的QVariant 。
如果您重写此函数,对于未处理的角色,您的重写实现应调用基类实现;否则,获取标志(例如通过调用flags()、isCheckable()、isEditable() 等)将无法正常工作。
注意: 默认实现将 Qt::EditRole 和Qt::DisplayRole 视为指向同一组数据。
另请参阅 setData()。
[protected] void QStandardItem::emitDataChanged()
使与该项关联的模型为此项发出dataChanged()信号。
通常情况下,只有当您继承了QStandardItem 类,并重写了data()和/或setData()方法时,才需要调用此函数。
另请参阅 setData()。
Qt::ItemFlags QStandardItem::flags() const
返回该项目的项目标志。
项目标志决定了用户可以如何与该项目进行交互。
默认情况下,项目处于启用状态,可编辑、可选中、可勾选,并且既可作为拖放操作的源,也可作为拖放目标。
另请参阅 setFlags()。
QFont QStandardItem::font() const
返回用于渲染该项目文本的字体。
另请参阅 ` setFont()`。
QBrush QStandardItem::foreground() const
返回用于渲染该项的前景(例如文本)的画笔。
另请参阅 setForeground() 和background()。
bool QStandardItem::hasChildren() const
如果该项有任何子项,则返回true ;否则返回false 。
另请参阅 rowCount()、columnCount(),以及child()。
QIcon QStandardItem::icon() const
返回该项目的图标。
QModelIndex QStandardItem::index() const
返回与该项目关联的QModelIndex 。
当您需要在基于QModelIndex 的API(例如QAbstractItemView )中调用项的功能时,可以调用此函数来获取与该项在模型中位置相对应的索引。
如果该项目未与模型相关联,则返回一个无效的QModelIndex 。
另请参阅 model() 和QStandardItemModel::itemFromIndex()。
void QStandardItem::insertColumn(int column, const QList<QStandardItem *> &items)
在column 处插入一列,内容为items 。如有必要,行数将增加至items 的大小。
另请参阅 insertColumns() 和insertRow()。
void QStandardItem::insertColumns(int column, int count)
在列column 处插入count 列子项。
另请参阅 insertColumn() 和insertRows()。
void QStandardItem::insertRow(int row, const QList<QStandardItem *> &items)
在row 处插入一行,内容为items 。如有必要,列数将增加至items 的大小。
另请参阅 insertRows() 和insertColumn()。
void QStandardItem::insertRow(int row, QStandardItem *item)
在row 处插入一行,内容为item 。
在构建仅含一列的列表或树时,此函数提供了一种便捷的方式来插入单个新项。
这是一个重载函数。
void QStandardItem::insertRows(int row, const QList<QStandardItem *> &items)
在row 插入items 。列数不会发生变化。
另请参阅 insertRow() 和insertColumn()。
void QStandardItem::insertRows(int row, int count)
在第row 行插入count 行子项。
另请参阅 insertRow() 和insertColumns()。
bool QStandardItem::isAutoTristate() const
返回该项是否为三态,且由QTreeWidget 控制。
默认值为false。
另请参阅 setAutoTristate()、isCheckable() 和checkState()。
bool QStandardItem::isCheckable() const
返回该项目是否可由用户勾选。
默认值为 false。
另请参阅 setCheckable()、checkState()、isUserTristate() 以及isAutoTristate()。
bool QStandardItem::isDragEnabled() const
返回该项目是否支持拖放。支持拖放的项目可由用户进行拖动。
默认值为 true。
请注意,必须在视图中启用项拖拽功能,拖拽操作才能生效;请参阅QAbstractItemView::dragEnabled 。
另请参阅 setDragEnabled()、isDropEnabled() 和flags()。
bool QStandardItem::isDropEnabled() const
返回该物品是否支持拖放。当物品支持拖放时,可将其用作拖放目标。
默认值为 true。
另请参阅 setDropEnabled()、isDragEnabled() 和flags()。
bool QStandardItem::isEditable() const
返回该项目是否可由用户编辑。
当项目可编辑(且已启用)时,用户可以通过调用视图的编辑触发器之一来编辑该项目;参见QAbstractItemView::editTriggers 。
默认值为 true。
另请参阅 setEditable() 和flags()。
bool QStandardItem::isEnabled() const
返回该项是否已启用。
当项目处于启用状态时,用户可以与其进行交互。可行的交互类型由其他项目标志指定,例如isEditable() 和isSelectable()。
默认值为 true。
另请参阅 setEnabled() 和flags()。
bool QStandardItem::isSelectable() const
返回该项目是否可供用户选择。
默认值为 true。
另请参阅 setSelectable() 和flags()。
bool QStandardItem::isUserTristate() const
返回该控件是否为三态控件;即,该控件是否具有三种独立的状态,且用户可以在这三种状态之间循环切换。
默认值为 false。
另请参阅 setUserTristate()、isCheckable() 和checkState()。
QStandardItemModel *QStandardItem::model() const
返回该项所属的QStandardItemModel 。
如果该项不是属于该模型的另一个项的子项,则此函数返回 `nullptr`。
另请参阅 index()。
[virtual, since 6.0] void QStandardItem::multiData(QModelRoleDataSpan roleDataSpan) const
将该项的数据填充到roleDataSpan 的span中。
默认实现仅针对 span 中的每个角色调用data()。
该函数在 Qt 6.0 中引入。
另请参阅 data()。
QStandardItem *QStandardItem::parent() const
返回该项的父项;如果该项没有父项,则返回nullptr 。
注意:对于 顶级项目,parent() 函数返回nullptr 。若要获取顶级项目的父项目,请改用QStandardItemModel::invisibleRootItem() 函数。
另请参阅 child() 和QStandardItemModel::invisibleRootItem()。
[virtual] void QStandardItem::read(QDataStream &in)
从流in 中读取项目。仅读取该项目的数据和标志,不读取子项目。
另请参阅 write()。
void QStandardItem::removeColumn(int column)
删除指定的column 。该列中的所有条目将被删除。
另请参阅 takeColumn()、removeColumns() 和removeRow()。
void QStandardItem::removeColumns(int column, int count)
删除count 列中的column 列。这些列中的项目将被删除。
另请参阅 removeColumn() 和removeRows()。
void QStandardItem::removeRow(int row)
删除指定的row 。该行中的项目将被删除。
另请参阅 takeRow()、removeRows() 和removeColumn()。
void QStandardItem::removeRows(int row, int count)
删除count 中第row 行的数据。这些行中的项目将被删除。
另请参阅 removeRow() 和removeColumn()。
int QStandardItem::row() const
返回该项在其父表子表中的所在行;如果该项没有父表,则返回 -1。
int QStandardItem::rowCount() const
返回该项目拥有的子项目行数。
另请参阅 setRowCount() 和columnCount()。
void QStandardItem::setAccessibleDescription(const QString &accessibleDescription)
将该项的辅助功能描述设置为由accessibleDescription 指定的字符串。
辅助技术会使用该可访问描述(即供无法使用常规交互方式的用户使用)。
另请参阅 accessibleDescription() 和setAccessibleText()。
void QStandardItem::setAccessibleText(const QString &accessibleText)
将该项的辅助文本设置为由accessibleText 指定的字符串。
辅助技术会使用该可访问文本(即供无法使用常规交互方式的用户使用)。
另请参阅 accessibleText() 和setAccessibleDescription()。
void QStandardItem::setAutoTristate(bool tristate)
如果tristate 的值为true ,则判定该项为三态项,并由QTreeWidget 控制。这使得能够自动管理QTreeWidget 中父项的状态(当所有子项均被选中时父项被选中;当所有子项均未被选中时父项未被选中;当仅部分子项被选中时父项部分选中)。
另请参阅 isAutoTristate()、setCheckable() 和setCheckState()。
void QStandardItem::setBackground(const QBrush &brush)
将该项的背景画笔设置为指定的brush 。
另请参阅 background() 和setForeground()。
void QStandardItem::setCheckState(Qt::CheckState state)
将该项的选中状态设置为state 。
另请参阅 checkState() 和setCheckable()。
void QStandardItem::setCheckable(bool checkable)
设置该项目是否允许用户勾选。如果checkable 为true,则用户可以勾选该项目;否则,用户无法勾选该项目。
项目委托将渲染一个可选中项目,其文本旁边会显示一个复选框。
另请参阅 isCheckable()、setCheckState()、setUserTristate() 和setAutoTristate()。
void QStandardItem::setChild(int row, int column, QStandardItem *item)
将位于 (row,column) 处的子项设置为item 。该项(父项)将接管item 的所有权。如有必要,将增加行数和列数以容纳该项。
注意:将 nullptr 作为item 传递 将删除该项。
另请参阅 child()。
void QStandardItem::setChild(int row, QStandardItem *item)
将位于row 的子节点设置为item 。
这是一个重载函数。
void QStandardItem::setColumnCount(int columns)
将子项列的数量设置为columns 。如果该数值小于columnCount(),则会舍弃不需要的列中的数据。
另请参阅 columnCount() 和setRowCount()。
[virtual] void QStandardItem::setData(const QVariant &value, int role = Qt::UserRole + 1)
将给定role 的项数据设置为指定的value 。
如果您继承了QStandardItem 并重写了此方法,您的重写实现应:
- 若未调用 setData() 的基类实现,则应调用emitDataChanged()。这将确保使用该模型的视图等组件能收到变更通知
- 对于您未处理的角色,请调用基类的实现;否则,设置标志(例如通过调用setFlags()、setCheckable()、setEditable() 等)将无法生效。
注意: 默认实现将 Qt::EditRole 和Qt::DisplayRole 视为指向同一数据。
另请参阅 Qt::ItemDataRole 、data() 和setFlags()。
void QStandardItem::setDragEnabled(bool dragEnabled)
设置该项是否支持拖拽。如果dragEnabled 为true,用户可以拖拽该项;否则,用户无法拖拽该项。
请注意,您还需要确保在视图中启用了项目拖拽功能;请参阅QAbstractItemView::dragEnabled 。
另请参阅 isDragEnabled()、setDropEnabled() 和setFlags()。
void QStandardItem::setDropEnabled(bool dropEnabled)
设置该项目是否支持拖放。如果dropEnabled 为true,则该项目可作为拖放目标;否则,则不可。
请注意,您还需要确保在视图中已启用拖放功能;参见QWidget::acceptDrops();并且模型需支持所需的拖放操作;参见QAbstractItemModel::supportedDropActions()。
另请参阅 isDropEnabled()、setDragEnabled() 和setFlags()。
void QStandardItem::setEditable(bool editable)
用于设置该项目是否可编辑。如果 `editable ` 为 true,则用户可以编辑该项目;否则,用户无法编辑该项目。
用户如何编辑视图中的项目由该视图的编辑触发器决定;请参阅QAbstractItemView::editTriggers 。
另请参阅 isEditable() 和setFlags()。
void QStandardItem::setEnabled(bool enabled)
用于设置该项目是否启用。如果enabled 为true,则该项目处于启用状态,这意味着用户可以与该项目进行交互;如果enabled 为false,则用户无法与该项目进行交互。
此标志优先于其他项目标志;例如,如果某个项目未启用,则用户无法选中它,即使已设置Qt::ItemIsSelectable 标志也是如此。
另请参阅 isEnabled()、Qt::ItemIsEnabled 以及setFlags()。
void QStandardItem::setFlags(Qt::ItemFlags flags)
将该项目的项目标志设置为flags 。
项目标志决定了用户如何与该项目进行交互。这通常用于禁用一个项目。
void QStandardItem::setFont(const QFont &font)
将用于显示该项目文本的字体设置为给定的font 。
另请参阅 font()、setText() 和setForeground()。
void QStandardItem::setForeground(const QBrush &brush)
将用于显示该项目前景色(例如文本)的画笔设置为给定的brush 。
另请参阅 foreground()、setBackground() 和setFont()。
void QStandardItem::setIcon(const QIcon &icon)
将该项目的图标设置为指定的icon 。
另请参阅 icon()。
void QStandardItem::setRowCount(int rows)
将子项行数设置为rows 。如果该数值小于rowCount(),则会丢弃不需要的行中的数据。
另请参阅 rowCount() 和setColumnCount()。
void QStandardItem::setSelectable(bool selectable)
用于设置该项目是否可选。如果selectable 为true,则用户可以选择该项目;否则,用户无法选择该项目。
您可以通过操作其视图属性来控制选择行为和模式;请参阅QAbstractItemView::selectionMode 和QAbstractItemView::selectionBehavior 。
另请参阅 isSelectable() 和setFlags()。
void QStandardItem::setSizeHint(const QSize &size)
将该项的大小提示设置为size 。如果未设置大小提示,项委托将根据项数据计算大小提示。
另请参阅 sizeHint()。
void QStandardItem::setStatusTip(const QString &statusTip)
将该项目的状态提示设置为由statusTip 指定的字符串。
另请参阅 statusTip()、setToolTip() 和setWhatsThis()。
void QStandardItem::setText(const QString &text)
将该项的文本设置为指定的text 。
另请参阅 text()、setFont() 和setForeground()。
void QStandardItem::setTextAlignment(Qt::Alignment alignment)
将该项文本的对齐方式设置为指定的alignment 。
另请参阅 textAlignment()。
void QStandardItem::setToolTip(const QString &toolTip)
将该项目的工具提示设置为由toolTip 指定的字符串。
另请参阅 toolTip()、setStatusTip() 和setWhatsThis()。
void QStandardItem::setUserTristate(bool tristate)
设置该控件是否为三态且由用户控制。如果tristate 为true,用户可以循环切换三个不同的状态;否则,该控件为两态复选框。(请注意,这还要求该控件支持复选功能;参见isCheckable()。)
另请参阅 isUserTristate()、setCheckable() 以及setCheckState()。
void QStandardItem::setWhatsThis(const QString &whatsThis)
将该项目的“这是什么?”帮助设置为whatsThis 中指定的字符串。
另请参阅 whatsThis()、setStatusTip() 和setToolTip()。
QSize QStandardItem::sizeHint() const
返回为该项设置的大小提示;如果未设置大小提示,则返回无效的QSize 。
如果未设置大小提示,则项目委托将根据项目数据计算大小提示。
另请参阅 setSizeHint()。
void QStandardItem::sortChildren(int column, Qt::SortOrder order = Qt::AscendingOrder)
使用给定的order ,根据给定的column 中的值对该项的子项进行排序。
注意:此 函数是递归的,因此会依次对该项的子项、孙项等进行排序。
另请参阅 operator<()。
QString QStandardItem::statusTip() const
返回该项目的状态提示。
另请参阅 setStatusTip()、toolTip() 和whatsThis()。
QStandardItem *QStandardItem::takeChild(int row, int column = 0)
移除位于 (row,column) 处子项,但不将其删除,并返回该项的指针。如果指定位置不存在子项,则该函数返回nullptr 。
请注意,与takeRow() 和takeColumn() 不同,此函数不会影响子表的维度。
另请参阅 child()、takeRow() 和takeColumn()。
QList<QStandardItem *> QStandardItem::takeColumn(int column)
移除column ,但不删除该列中的项目,并返回一个指向已移除项目的指针列表。对于该列中尚未设置的项目,列表中的相应指针将为nullptr 。
另请参阅 removeColumn()、insertColumn(),以及takeRow()。
QList<QStandardItem *> QStandardItem::takeRow(int row)
移除row ,但不删除该行中的项目,并返回一个指向已移除项目的指针列表。对于该行中尚未设置的项目,列表中的相应指针将为nullptr 。
另请参阅 removeRow()、insertRow() 和takeColumn()。
QString QStandardItem::text() const
返回该项的文本。这是在视图中向用户显示的文本。
另请参阅 setText()。
Qt::Alignment QStandardItem::textAlignment() const
返回该项文本的对齐方式。
另请参阅 setTextAlignment()。
QString QStandardItem::toolTip() const
返回该项目的工具提示。
另请参阅 setToolTip()、statusTip() 和whatsThis()。
[virtual] int QStandardItem::type() const
返回该项的类型。该类型用于区分自定义项与基类。在继承QStandardItem 时,应重写此函数,并返回一个大于或等于UserType 的新值。
另请参阅 QStandardItem::Type 。
QString QStandardItem::whatsThis() const
返回该项目的“这是什么?”帮助信息。
另请参阅 setWhatsThis()、toolTip() 和statusTip()。
[virtual] void QStandardItem::write(QDataStream &out) const
将该项目写入流out 。仅写入该项目的数据和标志,不写入子项目。
另请参阅 read()。
[virtual] bool QStandardItem::operator<(const QStandardItem &other) const
如果该项小于other ,则返回true ;否则返回false 。
如果该项属于某个模型,则默认实现将使用该项的排序角色(参见QStandardItemModel::sortRole )的数据进行比较;否则,将使用该项的Qt::DisplayRole (text()) 的数据进行比较。
sortChildren() 和QStandardItemModel::sort() 在对项目进行排序时会使用此函数。若需自定义排序,可继承QStandardItem 并重写此函数。
[protected] QStandardItem &QStandardItem::operator=(const QStandardItem &other)
将other 的数据和标志赋值给该项。请注意,type()和model()的内容不会被复制。
在重写clone()时,此函数非常有用。
相关的非成员
QDataStream &operator<<(QDataStream &out, const QStandardItem &item)
将QStandardItem item 写入流out 。
该运算符使用QStandardItem::write()。
另请参阅 《Qt 数据类型的序列化》。
QDataStream &operator>>(QDataStream &in, QStandardItem &item)
从流in 中读取一个 `QStandardItem ` 并将其写入 `item`。
该运算符使用QStandardItem::read()。
另请参阅 《Qt 数据类型的序列化》。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.