- Qt 6.8
- Qt Widgets
- C++ Classes
- QTableWidgetItem
- Qt 6.8.0 Reference Documentation

# QTableWidgetItem Class

The QTableWidgetItem class provides an item for use with the QTableWidget class. More...

Header: | `#include <QTableWidgetItem>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Widgets)` `target_link_libraries(mytarget PRIVATE Qt6::Widgets)`
qmake: | `QT += widgets`

- List of all members, including inherited members
- Deprecated members

## Public Types

enum | ItemType { Type, UserType }

## Public Functions

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

## Related Non-Members

QDataStream & | operator<<(QDataStream &out, const QTableWidgetItem &item)
QDataStream & | operator>>(QDataStream &in, QTableWidgetItem &item)

## Detailed Description

Table items are used to hold pieces of information for table widgets. Items usually contain text, icons, or checkboxes

The QTableWidgetItem class is a convenience class that replaces the `QTableItem` class in Qt 3. It provides an item for use with the QTableWidget class.

Top-level items are constructed without a parent then inserted at the position specified by a pair of row and column numbers:

         QTableWidgetItem *newItem = new QTableWidgetItem(tr("%1").arg(
             pow(row, column+1)));
         tableWidget->setItem(row, column, newItem);

Each item can have its own background brush which is set with the setBackground() function. The current background brush can be found with background(). The text label for each item can be rendered with its own font and brush. These are specified with the setFont() and setForeground() functions, and read with font() and foreground().

By default, items are enabled, editable, selectable, checkable, and can be used both as the source of a drag and drop operation and as a drop target. Each item's flags can be changed by calling setFlags() with the appropriate value (see Qt::ItemFlags). Checkable items can be checked and unchecked with the setCheckState() function. The corresponding checkState() function indicates whether the item is currently checked.

### Subclassing

When subclassing QTableWidgetItem to provide custom items, it is possible to define new types for them so that they can be distinguished from standard items. The constructors for subclasses that require this feature need to call the base class constructor with a new type value equal to or greater than UserType.

See also QTableWidget, Model/View Programming, QListWidgetItem, and QTreeWidgetItem.

## Member Type Documentation

### enum QTableWidgetItem::ItemType

This enum describes the types that are used to describe table widget items.

Constant | Value | Description
--- | --- | ---
`QTableWidgetItem::Type` | `0` | The default type for table widget items.
`QTableWidgetItem::UserType` | `1000` | The minimum value for custom types. Values below UserType are reserved by Qt.

You can define new user types in QTableWidgetItem subclasses to ensure that custom items are treated specially.

See also type().

## Member Function Documentation

### `[explicit]` QTableWidgetItem::QTableWidgetItem(int type = Type)

Constructs a table item of the specified type that does not belong to any table.

See also type().

### `[explicit]` QTableWidgetItem::QTableWidgetItem(const QString &text, int type = Type)

Constructs a table item with the given text.

See also type().

### `[explicit]` QTableWidgetItem::QTableWidgetItem(const QIcon &icon, const QString &text, int type = Type)

Constructs a table item with the given icon and text.

See also type().

### QTableWidgetItem::QTableWidgetItem(const QTableWidgetItem &other)

Constructs a copy of other. Note that type() and tableWidget() are not copied.

This function is useful when reimplementing clone().

See also data() and flags().

### `[virtual noexcept]` QTableWidgetItem::~QTableWidgetItem()

Destroys the table item.

### QBrush QTableWidgetItem::background() const

Returns the brush used to render the item's background.

See also setBackground() and foreground().

### Qt::CheckState QTableWidgetItem::checkState() const

Returns the checked state of the table item.

See also setCheckState() and flags().

### `[virtual]` QTableWidgetItem *QTableWidgetItem::clone() const

Creates a copy of the item.

### int QTableWidgetItem::column() const

Returns the column of the item in the table. If the item is not in a table, this function will return -1.

See also row().

### `[virtual]` QVariant QTableWidgetItem::data(int role) const

Returns the item's data for the given role.

See also setData().

### Qt::ItemFlags QTableWidgetItem::flags() const

Returns the flags used to describe the item. These determine whether the item can be checked, edited, and selected.

See also setFlags().

### QFont QTableWidgetItem::font() const

Returns the font used to render the item's text.

See also setFont().

### QBrush QTableWidgetItem::foreground() const

Returns the brush used to render the item's foreground (e.g. text).

See also setForeground() and background().

### QIcon QTableWidgetItem::icon() const

Returns the item's icon.

See also setIcon() and iconSize.

### bool QTableWidgetItem::isSelected() const

Returns `true` if the item is selected, otherwise returns `false`.

See also setSelected().

### `[virtual]` void QTableWidgetItem::read(QDataStream &in)

Reads the item from stream in.

See also write().

### int QTableWidgetItem::row() const

Returns the row of the item in the table. If the item is not in a table, this function will return -1.

See also column().

### void QTableWidgetItem::setBackground(const QBrush &brush)

Sets the item's background brush to the specified brush. Setting a default-constructed brush will let the view use the default color from the style.

See also background() and setForeground().

### void QTableWidgetItem::setCheckState(Qt::CheckState state)

Sets the check state of the table item to be state.

See also checkState().

### `[virtual]` void QTableWidgetItem::setData(int role, const QVariant &value)

Sets the item's data for the given role to the specified value.

Note: The default implementation treats Qt::EditRole and Qt::DisplayRole as referring to the same data.

See also Qt::ItemDataRole and data().

### void QTableWidgetItem::setFlags(Qt::ItemFlags flags)

Sets the flags for the item to the given flags. These determine whether the item can be selected or modified.

See also flags().

### void QTableWidgetItem::setFont(const QFont &font)

Sets the font used to display the item's text to the given font.

See also font(), setText(), and setForeground().

### void QTableWidgetItem::setForeground(const QBrush &brush)

Sets the item's foreground brush to the specified brush. Setting a default-constructed brush will let the view use the default color from the style.

See also foreground() and setBackground().

### void QTableWidgetItem::setIcon(const QIcon &icon)

Sets the item's icon to the icon specified.

See also icon(), setText(), and iconSize.

### void QTableWidgetItem::setSelected(bool select)

Sets the selected state of the item to select.

See also isSelected().

### void QTableWidgetItem::setSizeHint(const QSize &size)

Sets the size hint for the table item to be size. If no size hint is set or size is invalid, the item delegate will compute the size hint based on the item data.

See also sizeHint().

### void QTableWidgetItem::setStatusTip(const QString &statusTip)

Sets the status tip for the table item to the text specified by statusTip. QTableWidget mouse tracking needs to be enabled for this feature to work.

See also statusTip(), setToolTip(), and setWhatsThis().

### void QTableWidgetItem::setText(const QString &text)

Sets the item's text to the text specified.

See also text(), setFont(), and setForeground().

### `[since 6.4]` void QTableWidgetItem::setTextAlignment(Qt::Alignment alignment)

Sets the text alignment for the item's text to the alignment specified.

This function was introduced in Qt 6.4.

See also textAlignment().

### void QTableWidgetItem::setToolTip(const QString &toolTip)

Sets the item's tooltip to the string specified by toolTip.

See also toolTip(), setStatusTip(), and setWhatsThis().

### void QTableWidgetItem::setWhatsThis(const QString &whatsThis)

Sets the item's "What's This?" help to the string specified by whatsThis.

See also whatsThis(), setStatusTip(), and setToolTip().

### QSize QTableWidgetItem::sizeHint() const

Returns the size hint set for the table item.

See also setSizeHint().

### QString QTableWidgetItem::statusTip() const

Returns the item's status tip.

See also setStatusTip().

### QTableWidget *QTableWidgetItem::tableWidget() const

Returns the table widget that contains the item.

### QString QTableWidgetItem::text() const

Returns the item's text.

See also setText().

### int QTableWidgetItem::textAlignment() const

Returns the text alignment for the item's text.

Note: This function returns an int for historical reasons. It will be corrected to return Qt::Alignment in Qt 7.

See also setTextAlignment() and Qt::Alignment.

### QString QTableWidgetItem::toolTip() const

Returns the item's tooltip.

See also setToolTip().

### int QTableWidgetItem::type() const

Returns the type passed to the QTableWidgetItem constructor.

### QString QTableWidgetItem::whatsThis() const

Returns the item's "What's This?" help.

See also setWhatsThis().

### `[virtual]` void QTableWidgetItem::write(QDataStream &out) const

Writes the item to stream out.

See also read().

### `[virtual]` bool QTableWidgetItem::operator<(const QTableWidgetItem &other) const

Returns `true` if the item is less than the other item; otherwise returns false.

### QTableWidgetItem &QTableWidgetItem::operator=(const QTableWidgetItem &other)

Assigns other's data and flags to this item. Note that type() and tableWidget() are not copied.

This function is useful when reimplementing clone().

See also data() and flags().

## Related Non-Members

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

Writes the table widget item item to stream out.

This operator uses QTableWidgetItem::write().

See also Serializing Qt Data Types.

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

Reads a table widget item from stream in into item.

This operator uses QTableWidgetItem::read().

See also Serializing Qt Data Types.