QStandardItem类
QStandardItem类为使用QStandardItemModel类提供了一个项。更多信息...
头文件 | #include <QStandardItem> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
公共类型
枚举 | ItemType { Type, UserType } |
公共函数
QStandardItem() | |
QStandardItem(const QString &text) | |
QStandardItem(const QIcon &icon, const QString &text) | |
QStandardItem(int rows, int columns = 1) | |
虚拟 | ~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 列, Qt::SortOrder 排序方式 = Qt::AscendingOrder) |
QString | statusTip() const |
QStandardItem * | takeChild(int 行, int 列 = 0) |
QList<QStandardItem *> | takeColumn(int 列) |
QList<QStandardItem *> | takeRow(int 行) |
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,Item View Convenience Classes,以及 Model/View Programming。
成员类型文档
enum QStandardItem::ItemType
此枚举描述了用于描述标准项的类型。
常量 | 值 | 描述 |
---|---|---|
QStandardItem::Type | 0 | 标准项的默认类型。 |
QStandardItem::UserType | 1000 | 自定义类型的最低值。低于 UserType 的值由 Qt 保留。 |
您可以在 QStandardItem 的子类中定义新的用户类型,以确保自定义项被特别对待;例如,当对项进行排序时。
另请参阅 type()。
成员函数文档
QStandardItem::QStandardItem()
构造项。
[显式]
QStandardItem::QStandardItem(const QString &text)
使用给定的 text 构造项。
QStandardItem::QStandardItem(const QIcon &icon, const QString &text)
使用给定的 icon 和 text 构造项。
[显式]
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()
移除之前设置的的所有角色的所有数据。
[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 行, 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。
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()。
[虚拟]
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 为真,则项目可以作为拖放目标使用;否则,不能。
请注意,您还需要确保在视图中启用了拖放;请参阅 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::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为真,则用户可以选择该项;否则,用户不能选择该项。
您可以通过操作它们的视图属性来控制选择行为和模式;请参阅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。如果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)
使用给定的 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)
删除行而不删除行项,并返回删除项的指针列表。对于行中尚未设置的项,列表中对应该项的指针将是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::DisplayRole(text)数据来进行比较。
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读取一个QStandardItem到item。
此运算符使用QStandardItem::read。
另请参阅序列化 Qt 数据类型。
© 2024 The Qt Company Ltd. 本文档中的贡献包括各自的版权拥有者。本提供的文档根据自由软件基金会发布的GNU 自由文档许可证版本 1.3 的条款进行许可。Qt 及其相关标志是芬兰The Qt Company Ltd. 及/或全球其他国家的注册商标。所有其他商标是其各自所有者的财产。