QTableWidgetItem Class

QTableWidgetItem 类提供了与QTableWidget 类一起使用的项目。更多

Header: #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模型/视图编程QListWidgetItemQTreeWidgetItem

成员类型文档

enum QTableWidgetItem::ItemType

该枚举描述了用于描述表格部件项的类型。

常量描述
QTableWidgetItem::Type0表格 widget 项目的默认类型。
QTableWidgetItem::UserType1000自定义类型的最小值。低于 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)

用给定的icontext 构建表项。

另请参阅 type() 。

QTableWidgetItem::QTableWidgetItem(const QTableWidgetItem &other)

构造other 的副本。请注意,type() 和tableWidget() 不会被复制。

该函数在重新实现clone() 时非常有用。

另请参阅 data() 和flags()。

[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

返回项目的图标。

另请参阅 setIcon() 和iconSize

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::EditRoleQt::DisplayRole 视为相同的数据。

另请参阅 Qt::ItemDataRoledata()。

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 XML 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() 时非常有用。

另请参阅 data() 和flags()。

相关非会员

QDataStream &operator<<(QDataStream &out, const QTableWidgetItem &item)

将表部件项item 写入流out

该操作符使用QTableWidgetItem::write() 。

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

QDataStream &operator>>(QDataStream &in, QTableWidgetItem &item)

将一个表格部件项从in 流读入item

该操作符使用QTableWidgetItem::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.