QStyleOptionViewItem Class | Qt Widgets 5.12.11

- Qt 5.12
- Qt Widgets
- C++ Classes
- QStyleOptionViewItem
- Qt 5.12.11 Reference Documentation

# QStyleOptionViewItem Class

The QStyleOptionViewItem class is used to describe the parameters used to draw an item in a view widget. More...

Header: | #include <QStyleOptionViewItem>
qmake: | QT += widgets
Inherits: | QStyleOption

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

## Public Types

enum | Position { Left, Right, Top, Bottom }
enum | StyleOptionType { Type }
enum | StyleOptionVersion { Version }
enum | ViewItemFeature { None, WrapText, Alternate, HasCheckIndicator, HasDisplay, HasDecoration }
flags | ViewItemFeatures
enum | ViewItemPosition { Invalid, Beginning, Middle, End, OnlyOne }

## Public Functions

| QStyleOptionViewItem()
| QStyleOptionViewItem(const QStyleOptionViewItem &other)

- 2 public functions inherited from QStyleOption

## Public Variables

QBrush | backgroundBrush
Qt::CheckState | checkState
Qt::Alignment | decorationAlignment
QStyleOptionViewItem::Position | decorationPosition
QSize | decorationSize
Qt::Alignment | displayAlignment
QStyleOptionViewItem::ViewItemFeatures | features
QFont | font
QIcon | icon
QModelIndex | index
QLocale | locale
bool | showDecorationSelected
QString | text
Qt::TextElideMode | textElideMode
QStyleOptionViewItem::ViewItemPosition | viewItemPosition
const QWidget * | widget

## Detailed Description

The QStyleOptionViewItem class is used to describe the parameters used to draw an item in a view widget.

QStyleOptionViewItem contains all the information that QStyle functions need to draw the items for Qt's model/view classes.

For performance reasons, the access to the member variables is direct (i.e., using the `.` or `->` operator). This low-level feel makes the structures straightforward to use and emphasizes that these are simply parameters used by the style functions.

For an example demonstrating how style options can be used, see the Styles example.

See also QStyleOption and Model/View Programming.

## Member Type Documentation

### enum QStyleOptionViewItem::Position

This enum describes the position of the item's decoration.

Constant | Value | Description
--- | --- | ---
`QStyleOptionViewItem::Left` | `0` | On the left of the text.
`QStyleOptionViewItem::Right` | `1` | On the right of the text.
`QStyleOptionViewItem::Top` | `2` | Above the text.
`QStyleOptionViewItem::Bottom` | `3` | Below the text.

See also decorationPosition.

### enum QStyleOptionViewItem::StyleOptionType

This enum is used to hold information about the type of the style option, and is defined for each QStyleOption subclass.

Constant | Value | Description
--- | --- | ---
`QStyleOptionViewItem::Type` | `SO_ViewItem` | The type of style option provided (SO_ViewItem for this class).

The type is used internally by QStyleOption, its subclasses, and qstyleoption_cast() to determine the type of style option. In general you do not need to worry about this unless you want to create your own QStyleOption subclass and your own styles.

See also StyleOptionVersion.

### enum QStyleOptionViewItem::StyleOptionVersion

This enum is used to hold information about the version of the style option, and is defined for each QStyleOption subclass.

Constant | Value | Description
--- | --- | ---
`QStyleOptionViewItem::Version` | `4` | 4

The version is used by QStyleOption subclasses to implement extensions without breaking compatibility. If you use qstyleoption_cast(), you normally do not need to check it.

See also StyleOptionType.

### enum QStyleOptionViewItem::ViewItemFeature
flags QStyleOptionViewItem::ViewItemFeatures

This enum describes the different types of features an item can have.

Constant | Value | Description
--- | --- | ---
`QStyleOptionViewItem::None` | `0x00` | Indicates a normal item.
`QStyleOptionViewItem::WrapText` | `0x01` | Indicates an item with wrapped text.
`QStyleOptionViewItem::Alternate` | `0x02` | Indicates that the item's background is rendered using alternateBase.
`QStyleOptionViewItem::HasCheckIndicator` | `0x04` | Indicates that the item has a check state indicator.
`QStyleOptionViewItem::HasDisplay` | `0x08` | Indicates that the item has a display role.
`QStyleOptionViewItem::HasDecoration` | `0x10` | Indicates that the item has a decoration role.

The ViewItemFeatures type is a typedef for QFlags<ViewItemFeature>. It stores an OR combination of ViewItemFeature values.

### enum QStyleOptionViewItem::ViewItemPosition

This enum is used to represent the placement of the item on a row. This can be used to draw items differently depending on their placement, for example by putting rounded edges at the beginning and end, and straight edges in between.

Constant | Value | Description
--- | --- | ---
`QStyleOptionViewItem::Invalid` | `0` | The ViewItemPosition is unknown and should be disregarded.
`QStyleOptionViewItem::Beginning` | `1` | The item appears at the beginning of the row.
`QStyleOptionViewItem::Middle` | `2` | The item appears in the middle of the row.
`QStyleOptionViewItem::End` | `3` | The item appears at the end of the row.
`QStyleOptionViewItem::OnlyOne` | `4` | The item is the only one on the row, and is therefore both at the beginning and the end.

## Member Function Documentation

### QStyleOptionViewItem::QStyleOptionViewItem()

Constructs a QStyleOptionViewItem, initializing the members variables to their default values.

### QStyleOptionViewItem::QStyleOptionViewItem(const QStyleOptionViewItem &other)

Constructs a copy of the other style option.

## Member Variable Documentation

### QBrush QStyleOptionViewItem::backgroundBrush

The QBrush that should be used to paint the view items background.

### Qt::CheckState QStyleOptionViewItem::checkState

If this view item is checkable, i.e., ViewItemFeature::HasCheckIndicator is true, `checkState` is true if the item is checked; otherwise, it is false.

### Qt::Alignment QStyleOptionViewItem::decorationAlignment

This variable holds the alignment of the decoration for the item

The default value is Qt::AlignLeft.

### QStyleOptionViewItem::Position QStyleOptionViewItem::decorationPosition

This variable holds the position of the decoration for the item

The default value is Left.

See also Position.

### QSize QStyleOptionViewItem::decorationSize

This variable holds the size of the decoration for the item

The default value is QSize(-1, -1), i.e. an invalid size.

See also decorationAlignment and decorationPosition.

### Qt::Alignment QStyleOptionViewItem::displayAlignment

This variable holds the alignment of the display value for the item

The default value is Qt::AlignLeft.

### QStyleOptionViewItem::ViewItemFeatures QStyleOptionViewItem::features

This variable holds a bitwise OR of the features that describe this view item

See also ViewItemFeature.

### QFont QStyleOptionViewItem::font

This variable holds the font used for the item

By default, the application's default font is used.

See also QFont.

### QIcon QStyleOptionViewItem::icon

The icon (if any) to be drawn in the view item.

### QModelIndex QStyleOptionViewItem::index

The model index that is to be drawn.

### bool QStyleOptionViewItem::showDecorationSelected

This variable holds whether the decoration should be highlighted on selected items

If this option is true, the branch and any decorations on selected items should be highlighted, indicating that the item is selected; otherwise, no highlighting is required. The default value is false.

See also QStyle::SH_ItemView_ShowDecorationSelected and QAbstractItemView.

### QString QStyleOptionViewItem::text

The text (if any) to be drawn in the view item.

### Qt::TextElideMode QStyleOptionViewItem::textElideMode

where ellipsis should be added for text that is too long to fit into an item

The default value is Qt::ElideMiddle, i.e. the ellipsis appears in the middle of the text.

See also Qt::TextElideMode and QStyle::SH_ItemView_EllipsisLocation.

### QStyleOptionViewItem::ViewItemPosition QStyleOptionViewItem::viewItemPosition

Gives the position of this view item relative to other items. See the ViewItemPosition enum for the details.