QStandardItem类

QStandardItem类为使用QStandardItemModel类提供了一个项。更多信息...

头文件 #include <QStandardItem>
CMakefind_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::Gui)
qmakeQT += gui

公共类型

枚举ItemType { Type, UserType }

公共函数

QStandardItem()
QStandardItem(const QString &text)
QStandardItem(const QIcon &icon, const QString &text)
QStandardItem(int rows, int columns = 1)
虚拟~QStandardItem()
QStringaccessibleDescription() const
QStringaccessibleText() const
voidappendColumn(const QList<QStandardItem *> &items)
voidappendRow(const QList<QStandardItem *> &items)
voidappendRow(QStandardItem *item)
voidappendRows(const QList<QStandardItem *> &items)
QBrushbackground() const
Qt::CheckStatecheckState() const
QStandardItem *child(int row, int column = 0) const
voidclearData()
virtual QStandardItem *clone() const
intcolumn() const
intcolumnCount() const
virtual QVariantdata(int role = Qt::UserRole + 1) const
Qt::ItemFlagsflags() const
QFontfont() const
QBrushforeground() const
boolhasChildren() const
QIconicon() const
QModelIndexindex() const
voidinsertColumn(int column, const QList<QStandardItem *> &items)
voidinsertColumns(int column, int count)
voidinsertRow(int row, const QList<QStandardItem *> &items)
voidinsertRow(int row, QStandardItem *item)
voidinsertRows(int row, const QList<QStandardItem *> &items)
voidinsertRows(int row, int count)
boolisAutoTristate() const
boolisCheckable() const
boolisDragEnabled() const
boolisDropEnabled() const
boolisEditable() const
boolisEnabled() const
boolisSelectable() const
boolisUserTristate() const
QStandardItemModel *model() const
(since 6.0) virtual voidmultiData(QModelRoleDataSpan roleDataSpan) const
QStandardItem *parent() const
virtual voidread(QDataStream &in)
voidremoveColumn(int column)
voidremoveColumns(int column, int count)
voidremoveRow(int row)
voidremoveRows(int row, int count)
introw() const
introwCount() const
voidsetAccessibleDescription(const QString &accessibleDescription)
voidsetAccessibleText(const QString &accessibleText)
voidsetAutoTristate(bool tristate)
voidsetBackground(const QBrush &brush)
voidsetCheckState(Qt::CheckState state)
voidsetCheckable(bool checkable)
voidsetChild(int row, int column, QStandardItem *item)
voidsetChild(int row, QStandardItem *item)
voidsetColumnCount(int columns)
virtual voidsetData(const QVariant &value, int role = Qt::UserRole + 1)
voidsetDragEnabled(bool dragEnabled)
voidsetDropEnabled(bool dropEnabled)
voidsetEditable(bool editable)
voidsetEnabled(bool enabled)
voidsetFlags(Qt::ItemFlags flags)
voidsetFont(const QFont &font)
voidsetForeground(const QBrush &brush)
voidsetIcon(const QIcon &icon)
voidsetRowCount(int rows)
voidsetSelectable(bool selectable)
voidsetSizeHint(const QSize &size)
voidsetStatusTip(const QString &statusTip)
voidsetText(const QString &text)
voidsetTextAlignment(Qt::Alignment alignment)
voidsetToolTip(const QString &toolTip)
voidsetUserTristate(bool tristate)
voidsetWhatsThis(const QString &whatsThis)
QSizesizeHint() const
voidsortChildren(int , Qt::SortOrder 排序方式 = Qt::AscendingOrder)
QStringstatusTip() const
QStandardItem *takeChild(int , int = 0)
QList<QStandardItem *>takeColumn(int )
QList<QStandardItem *>takeRow(int )
QStringtext() const
Qt::AlignmenttextAlignment() const
QStringtoolTip() const
virtual inttype() const
QStringwhatsThis() const
virtual voidwrite(QDataStream &out) const
virtual booloperator<(const QStandardItem &other) const

受保护的函数

QStandardItem(const QStandardItem &other)
voidemitDataChanged()
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() 时项的排序顺序)。

另请参阅 QStandardItemModelItem View Convenience Classes,以及 Model/View Programming

成员类型文档

enum QStandardItem::ItemType

此枚举描述了用于描述标准项的类型。

常量描述
QStandardItem::Type0标准项的默认类型。
QStandardItem::UserType1000自定义类型的最低值。低于 UserType 的值由 Qt 保留。

您可以在 QStandardItem 的子类中定义新的用户类型,以确保自定义项被特别对待;例如,当对项进行排序时。

另请参阅 type()。

成员函数文档

QStandardItem::QStandardItem()

构造项。

[显式] QStandardItem::QStandardItem(const QString &text)

使用给定的 text 构造项。

QStandardItem::QStandardItem(const QIcon &icon, const QString &text)

使用给定的 icontext 构造项。

[显式] QStandardItem::QStandardItem(int rows, int columns = 1)

构造具有 rows 行和 columns 列子项的项。

[受保护] QStandardItem::QStandardItem(const QStandardItem &other)

构建 other 的副本。请注意,model() 没有复制。

此函数在重新实现 clone() 时很有用。

[虚 无异常] 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()

移除之前设置的的所有角色的所有数据。

请参阅data() 和 setData()。

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

返回此项目的副本。此项目的子项目不会被复制。

当从 QStandardItem 继承时,你可以重写此函数,为 QStandardItemModel 提供工厂,该工厂可以用来按需创建新项目。

请参阅QStandardItemModel::setItemPrototype() 和 operator=

int QStandardItem::column() const

返回该项目在父项目的子项目表中的列,如果没有父项目则返回 -1。

请参阅row() 和 parent()。

int QStandardItem::columnCount() const

返回该项目具有的子项目列数。

请参阅setColumnCount() 和 rowCount

[virtual] QVariant QStandardItem::data(int role = Qt::UserRole + 1) const

返回给定 role 的项目数据,如果没有为该角色提供数据则返回无效的 QVariant

如果你重写了此函数,你的重写实现应调用基本实现以处理不处理的角色,否则获取标志、例如通过调用 flags()、isCheckable()、isEditable() 等,将不起作用。

注意:默认实现将 Qt::EditRoleQt::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

返回项的图标。

另请参阅 setIcon() 和 iconSize.

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 , QStandardItem *item)

这是一个重载函数。

处插入包含item的行。

当构建只有一个列的列表或树时,该函数提供了插入单个新项目的一个便捷方法。

void QStandardItem::insertRows(int , const QList<QStandardItem *> &items)

处插入items。列数不会改变。

另请参阅insertRow() 和 insertColumn

void QStandardItem::insertRows(int , int count)

处插入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()。

[虚拟,自 6.0 版起] void QStandardItem::multiData(QModelRoleDataSpan roleDataSpan) const

将从该项中填充数据到 roleDataSpan区。

默认实现简单地调用区中每个角色的 data()。

此功能是在 Qt 6.0 中引入的。

另请参阅 data()。

QStandardItem *QStandardItem::parent() const

返回项的父项,或者如果项没有父项则返回 nullptr

注意: 对于顶级项,parent() 返回 nullptr。要接收顶级项的父项,请使用 QStandardItemModel::invisibleRootItem() 代替。

另请参阅 child() 和 QStandardItemModel::invisibleRootItem()。

[虚拟] void QStandardItem::read(QDataStream &in)

从流 in 中读取项。只读取项的数据和标志,而不读取子项。

另请参阅 write()。

void QStandardItem::removeColumn(int column)

移除指定的column。此列中的项被删除。

另请参阅 takeColumn(),removeColumns() 和 removeRow()。

void QStandardItem::removeColumns(int column, int count)

在列 column 处移除 count 列。那些列中的项被删除。

另请参阅 removeColumn() 和 removeRows.

void QStandardItem::removeRow(int row)

移除给定的 。该行中的项目将被删除。

另请参阅 takeRow()、removeRows() 和 removeColumn.

void QStandardItem::removeRows(int row, int count)

移除行 row 上的 count 行。那些行中的项目将被删除。

另请参阅 removeRow() 和 removeColumn.

int QStandardItem::row() const

返回项目在其父级子表中所在的行,如果没有父级则返回 -1。

另请参阅 column() 和 parent.

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)

如果 tristatetrue,则确定项目是三态的,并由 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()。

[虚拟] void QStandardItem::setData(const QVariant &value, int role = Qt::UserRole + 1)

将项目在给定 role 上的数据设置为指定的 value

如果您的子类 QStandardItem 并且重新实现了此函数,您的重新实现应

  • 如果未调用 setData() 的基本实现,请调用 emitDataChanged()。这将确保例如使用模型的视图会通知更改
  • 为未处理的角色调用基础实现,否则设置标志(例如,通过调用 setFlags()、setCheckable()、setEditable() 等)将不起作用。

注意:默认实现将 Qt::EditRoleQt::DisplayRole 视为引用相同的数据。

另请参阅Qt::ItemDataRoledata() 和 setFlags()。

void QStandardItem::setDragEnabled(bool dragEnabled)

设置项目是否启用拖动。如果 dragEnabled 为 true,则用户可以拖动该项目;否则,用户无法拖动该项目。

请注意,您还需要确保在视图中启用了项目拖动功能;请参阅QAbstractItemView::dragEnabled

另请参阅 isDragEnabled()、setDropEnabled() 和 setFlags

void QStandardItem::setDropEnabled(bool dropEnabled)

设置项目是否启用拖放。如果 dropEnabled 为真,则项目可以作为拖放目标使用;否则,不能。

请注意,您还需要确保在视图中启用了拖放;请参阅 QWidget::acceptDrops();以及模型是否支持所需的拖放动作;请参阅 QAbstractItemModel::supportedDropActions

另请参阅 isDropEnabled()、setDragEnabled() 和 setFlags

void QStandardItem::setEditable(bool editable)

设置项目是否可编辑。如果 editable 为真,则用户可以编辑该项目;否则,用户无法编辑项目。

用户如何编辑视图中项目的确定取决于视图的编辑触发器;请参阅 QAbstractItemView::editTriggers

另请参阅 isEditable() 和 setFlags

void QStandardItem::setEnabled(bool enabled)

设置项目是否启用。如果 enabled 为真,则项目启用,表示用户可以与之交互;如果 enabled 为假,则用户无法与之交互。

此标志具有优先于其他项目标志的优先级;例如,如果项目未启用,则用户即使设置了 Qt::ItemIsSelectable 标志也无法选择该项目。

另请参阅 isEnabled()、Qt::ItemIsEnabledsetFlags

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

将项目标志设置为 flags

项目标志决定了用户如何与之交互。这通常用于禁用项目。

另请参阅 flags() 和 setData

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为真,则用户可以选择该项;否则,用户不能选择该项。

您可以通过操作它们的视图属性来控制选择行为和模式;请参阅QAbstractItemView::selectionModeQAbstractItemView::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。如果tristate为真,则用户可以循环通过三个单独的状态;否则,项可以带有两个状态的复选框。(请注意,这也需要项可复选;请参阅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)

使用给定的 ordercolumn 中的值对项的子项进行排序。

注意: 此函数是递归的,因此它对项的子项、孙子项等进行了排序。

参见 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)

删除而不删除行项,并返回删除项的指针列表。对于行中尚未设置的项,列表中对应该项的指针将是nullptr

另请参阅removeRow()、insertRow()和takeColumn()。

QString QStandardItem::text() const

返回项的文本。这是在视图中呈现给用户的文本。

另请参阅setText()。

Qt::Alignment QStandardItem::textAlignment() const

返回项文本的对齐方式。

另请参阅setTextAlignment()。

QString QStandardItem::toolTip() const

返回项的工具提示。

另请参阅setToolTip()、statusTip()和whatsThis()。

[虚拟] int QStandardItem::type() const

返回此项的类型。类型用于区分自定义项和基类。在继承QStandardItem时,应重写此函数并返回一个大于或等于UserType的新值。

另请参阅QStandardItem::Type

QString QStandardItem::whatsThis() const

返回项的“这是什么?”帮助。

另请参阅setWhatsThis()、toolTip()和statusTip()。

[虚拟] void QStandardItem::write(QDataStream &out) const

将项写入out流。仅写入项的数据和标志,不写入子项。

另请参阅read()。

[虚拟] bool QStandardItem::operator<(const QStandardItem &other) const

如果此项小于other则返回true;否则返回false

默认实现使用项的排序角色数据(参见QStandardItemModel::sortRole)来进行比较,如果项属于模型,否则使用项的Qt::DisplayRoletext)数据来进行比较。

sortChildren()和QStandardItemModel::sort()在排序项时使用此函数。如果您需要自定义排序,可以继承QStandardItem并重写此函数。

[受保护] 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读取一个QStandardItemitem

此运算符使用QStandardItem::read

另请参阅序列化 Qt 数据类型

© 2024 The Qt Company Ltd. 本文档中的贡献包括各自的版权拥有者。本提供的文档根据自由软件基金会发布的GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 及其相关标志是芬兰The Qt Company Ltd. 及/或全球其他国家的注册商标。所有其他商标是其各自所有者的财产。