QStandardItem Class

QStandardItem 类提供了与QStandardItemModel 类一起使用的项目。更多

Header: #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 能够按需创建自定义项类的实例(请参阅QStandardItemModel::setItemPrototype()),请重新实现clone()。

如果您想控制以序列化形式表示项目的方式,请重新实现read() 和write() 。

如果要控制项目比较的语义,请重新实现operator<() 。operator<() 决定使用sortChildren() 或QStandardItemModel::sort() 对项目进行排序时的排序顺序。

另请参阅 QStandardItemModel项目视图便利类模型/视图编程

成员类型文档

enum QStandardItem::ItemType

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

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

您可以在QStandardItem 子类中定义新的用户类型,以确保对自定义项目进行特殊处理;例如,在对项目进行排序时。

另请参阅 type().

成员函数文档

QStandardItem::QStandardItem()

构建一个项目。

[explicit] QStandardItem::QStandardItem(const QString &text)

用给定的text 构建一个项目。

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

用给定的icontext 构建一个项目。

[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()

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

另请参阅 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 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。

另请参阅 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 的所有权。如有必要,行数和列数将增加以适应该条目。

注意: item 的形式传递nullptr 会删除该项目。

另请参阅 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::EditRoleQt::DisplayRole 视为指向相同的数据。

另请参阅 Qt::ItemDataRoledata() 和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

项目标志决定了用户与项目的交互方式。这通常用于禁用项目。

另请参阅 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 为 true,则用户可以选择该项目;否则,用户无法选择该项目。

您可以通过操作视图属性来控制选择行为和模式;请参阅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 为 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)

QStandardItemin 流读入item

该操作符使用QStandardItem::read() 。

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

© 2025 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.