QTableWidgetItem Class
QTableWidgetItem 类提供了一个可与QTableWidget 类配合使用的项目。更多内容...
| 头文件: | #include <QTableWidgetItem> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake: | QT += widgets |
公共类型
| enum | ItemType { Type, UserType } |
公共函数
| QTableWidgetItem(int type = Type) | |
| QTableWidgetItem(const QString &text, int type = Type) | |
| QTableWidgetItem(const QIcon &icon, const QString &text, int type = Type) | |
| QTableWidgetItem(const QTableWidgetItem &other) | |
| virtual | ~QTableWidgetItem() |
| QBrush | background() const |
| Qt::CheckState | checkState() const |
| virtual QTableWidgetItem * | clone() const |
| int | column() const |
| virtual QVariant | data(int role) const |
| Qt::ItemFlags | flags() const |
| QFont | font() const |
| QBrush | foreground() const |
| QIcon | icon() const |
| bool | isSelected() const |
| virtual void | read(QDataStream &in) |
| int | row() const |
| void | setBackground(const QBrush &brush) |
| void | setCheckState(Qt::CheckState state) |
| virtual void | setData(int role, const QVariant &value) |
| void | setFlags(Qt::ItemFlags flags) |
| void | setFont(const QFont &font) |
| void | setForeground(const QBrush &brush) |
| void | setIcon(const QIcon &icon) |
| void | setSelected(bool select) |
| void | setSizeHint(const QSize &size) |
| void | setStatusTip(const QString &statusTip) |
| void | setText(const QString &text) |
(since 6.4) void | setTextAlignment(Qt::Alignment alignment) |
| void | setToolTip(const QString &toolTip) |
| void | setWhatsThis(const QString &whatsThis) |
| QSize | sizeHint() const |
| QString | statusTip() const |
| QTableWidget * | tableWidget() const |
| QString | text() const |
| int | textAlignment() const |
| QString | toolTip() const |
| int | type() const |
| QString | whatsThis() const |
| virtual void | write(QDataStream &out) const |
| virtual bool | operator<(const QTableWidgetItem &other) const |
| QTableWidgetItem & | operator=(const QTableWidgetItem &other) |
相关的非成员
| QDataStream & | operator<<(QDataStream &out, const QTableWidgetItem &item) |
| QDataStream & | operator>>(QDataStream &in, QTableWidgetItem &item) |
详细说明
表项用于存储表格控件中的信息。表项通常包含文本、图标或复选框
QTableWidgetItem类是一个便捷类,用于替代Qt 3中的QTableItem 类。它提供了一个可与QTableWidget 类配合使用的项目。
顶级项在没有父项的情况下创建,然后插入到由行号和列号组成的坐标位置:
QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
pow(row, column+1)));
tableWidget->setItem(row, column, newItem);每个项都可以拥有自己的背景笔刷,该笔刷通过setBackground()函数设置。当前的背景笔刷可通过background()获取。每个项的文本标签可以使用其自身的字体和笔刷进行渲染。这些属性通过setFont()和setForeground()函数指定,并通过font()和foreground()读取。
默认情况下,项目处于启用状态,可编辑、可选中、可勾选,并且既可作为拖放操作的源,也可作为拖放目标。通过调用setFlags()并传入相应的值,可以更改每个项目的标志(参见Qt::ItemFlags )。 可通过setCheckState()函数对可选中项进行选中和取消选中操作。相应的checkState()函数用于指示该项当前是否处于选中状态。
子类化
在继承 QTableWidgetItem 以提供自定义项目时,可以为其定义新类型,以便将其与标准项目区分开来。需要此功能的子类的构造函数必须调用基类的构造函数,并将新类型值设置为大于或等于UserType 。
另请参阅 QTableWidget 、模型/视图编程、QListWidgetItem 以及QTreeWidgetItem 。
成员类型文档
enum QTableWidgetItem::ItemType
此枚举描述了用于描述表格控件项的类型。
| 常量 | 值 | 描述 |
|---|---|---|
QTableWidgetItem::Type | 0 | 表格控件项的默认类型。 |
QTableWidgetItem::UserType | 1000 | 自定义类型的最小值。小于 UserType 的值被 Qt 保留。 |
您可以在QTableWidgetItem 的子类中定义新的用户类型,以确保自定义项得到特殊处理。
另请参阅 type()。
成员函数文档
[explicit] QTableWidgetItem::QTableWidgetItem(int type = Type)
创建一个属于指定type 且不属于任何表的表项。
另请参阅 type()。
[explicit] QTableWidgetItem::QTableWidgetItem(const QString &text, int type = Type)
根据给定的text 构建一个表格项。
另请参阅 type()。
[explicit] QTableWidgetItem::QTableWidgetItem(const QIcon &icon, const QString &text, int type = Type)
根据给定的icon 和text 构建一个表格项。
另请参阅 type()。
QTableWidgetItem::QTableWidgetItem(const QTableWidgetItem &other)
构建other 的副本。请注意,type()和tableWidget()不会被复制。
在重写clone() 时,此函数非常有用。
[virtual noexcept] QTableWidgetItem::~QTableWidgetItem()
删除该表格项。
QBrush QTableWidgetItem::background() const
返回用于渲染该项背景的画笔。
另请参阅 setBackground() 和foreground()。
Qt::CheckState QTableWidgetItem::checkState() const
返回表格项的选中状态。
另请参阅 setCheckState() 和flags()。
[virtual] QTableWidgetItem *QTableWidgetItem::clone() const
创建该项目的副本。
int QTableWidgetItem::column() const
返回该项在表格中的列号。如果该项不在表格中,则此函数将返回 -1。
另请参阅 row()。
[virtual] QVariant QTableWidgetItem::data(int role) const
返回给定role 对应的项目数据。
另请参阅 setData()。
Qt::ItemFlags QTableWidgetItem::flags() const
返回用于描述该项目的标志。这些标志决定了该项目是否可以被勾选、编辑和选中。
另请参阅 setFlags()。
QFont QTableWidgetItem::font() const
返回用于渲染该项文本的字体。
另请参阅 setFont()。
QBrush QTableWidgetItem::foreground() const
返回用于渲染该项的前景(例如文本)的画笔。
另请参阅 setForeground() 和background()。
QIcon QTableWidgetItem::icon() const
返回该项目的图标。
bool QTableWidgetItem::isSelected() const
如果该项目被选中,则返回true ;否则返回false 。
另请参阅 setSelected()。
[virtual] void QTableWidgetItem::read(QDataStream &in)
从流in 中读取该项目。
另请参阅 write()。
int QTableWidgetItem::row() const
返回该项在表格中的行号。如果该项不在表格中,此函数将返回 -1。
另请参阅 column()。
void QTableWidgetItem::setBackground(const QBrush &brush)
将项的背景画笔设置为指定的brush 。设置一个通过默认构造器创建的画笔,将使视图使用样式中的默认颜色。
另请参阅 background() 和setForeground()。
void QTableWidgetItem::setCheckState(Qt::CheckState state)
将表格项的选中状态设置为state 。
另请参阅 checkState()。
[virtual] void QTableWidgetItem::setData(int role, const QVariant &value)
将给定role 的项目数据设置为指定的value 。
注意: 默认实现将 Qt::EditRole 和Qt::DisplayRole 视为指向同一数据。
另请参阅 Qt::ItemDataRole 和data()。
void QTableWidgetItem::setFlags(Qt::ItemFlags flags)
将该项的标志设置为给定的flags 。这些标志决定了该项是否可以被选中或修改。
另请参阅 flags()。
void QTableWidgetItem::setFont(const QFont &font)
将用于显示该项目文本的字体设置为指定的font 。
另请参阅 font()、setText() 和setForeground()。
void QTableWidgetItem::setForeground(const QBrush &brush)
将项的前景色画笔设置为指定的brush 。如果设置的是默认构造的画笔,视图将使用样式中的默认颜色。
另请参阅 foreground() 和setBackground()。
void QTableWidgetItem::setIcon(const QIcon &icon)
将该项目的图标设置为指定的icon 。
另请参阅 icon()、setText() 以及iconSize 。
void QTableWidgetItem::setSelected(bool select)
将该项的选中状态设置为select 。
另请参阅 isSelected()。
void QTableWidgetItem::setSizeHint(const QSize &size)
将表格项的大小提示设置为size 。如果未设置大小提示,或者size 无效,则项委托将根据项数据计算大小提示。
另请参阅 sizeHint()。
void QTableWidgetItem::setStatusTip(const QString &statusTip)
将表格项的状态提示设置为由statusTip 指定的文本。QTableWidget 需启用鼠标跟踪功能,此功能才能正常工作。
另请参阅 statusTip()、setToolTip() 和setWhatsThis()。
void QTableWidgetItem::setText(const QString &text)
将该项的文本设置为指定的text 。
另请参阅 text()、setFont() 和setForeground()。
[since 6.4] void QTableWidgetItem::setTextAlignment(Qt::Alignment alignment)
将项目文本的对齐方式设置为指定的alignment 。
该函数于 Qt 6.4 中引入。
另请参阅 textAlignment()。
void QTableWidgetItem::setToolTip(const QString &toolTip)
将该项目的工具提示设置为由toolTip 指定的字符串。
另请参阅 toolTip()、setStatusTip(),以及setWhatsThis()。
void QTableWidgetItem::setWhatsThis(const QString &whatsThis)
将该项目的“这是什么?”帮助设置为由whatsThis 指定的字符串。
另请参阅 whatsThis()、setStatusTip() 和setToolTip()。
QSize QTableWidgetItem::sizeHint() const
返回为该表格项设置的大小提示。
另请参阅 ` setSizeHint()`。
QString QTableWidgetItem::statusTip() const
返回该项目的状态提示。
另请参阅 setStatusTip()。
QTableWidget *QTableWidgetItem::tableWidget() const
返回包含该项的表格控件。
QString QTableWidgetItem::text() const
返回该项目的文本。
另请参阅 setText()。
int QTableWidgetItem::textAlignment() const
返回该项文本的对齐方式。
注意: 出于历史原因,此 函数返回一个 int 类型。在 Qt 7 中,该行为将被修正为返回Qt::Alignment 。
另请参阅 setTextAlignment() 和Qt::Alignment 。
QString QTableWidgetItem::toolTip() const
返回该项目的工具提示。
另请参阅 setToolTip()。
int QTableWidgetItem::type() const
返回传递给QTableWidgetItem 构造函数的类型。
QString QTableWidgetItem::whatsThis() const
返回该项目的“这是什么?”帮助信息。
另请参阅 setWhatsThis()。
[virtual] void QTableWidgetItem::write(QDataStream &out) const
将该项写入流out 。
另请参阅 read()。
[virtual] bool QTableWidgetItem::operator<(const QTableWidgetItem &other) const
如果该项小于other 项,则返回true ;否则返回false。
QTableWidgetItem &QTableWidgetItem::operator=(const QTableWidgetItem &other)
将other 的数据和标志赋值给此项。请注意,type()和tableWidget()的内容不会被复制。
在重新实现 `clone()` 时,此函数非常有用。
相关的非成员
QDataStream &operator<<(QDataStream &out, const QTableWidgetItem &item)
将表格控件项item 写入流out 。
该运算符使用QTableWidgetItem::write()。
另请参阅 《Qt 数据类型的序列化》。
QDataStream &operator>>(QDataStream &in, QTableWidgetItem &item)
从流in 中读取一个表格控件项,并将其写入item 。
该运算符使用QTableWidgetItem::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.