QStyleOptionViewItem Class

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

Header: #include <QStyleOptionViewItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QStyleOption

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)

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

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

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

See also QStyleOption and Model/View Programming.

Member Type Documentation

enum QStyleOptionViewItem::Position

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

ConstantValueDescription
QStyleOptionViewItem::Left0On the left of the text.
QStyleOptionViewItem::Right1On the right of the text.
QStyleOptionViewItem::Top2Above the text.
QStyleOptionViewItem::Bottom3Below 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.

ConstantValueDescription
QStyleOptionViewItem::TypeSO_ViewItemThe 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.

ConstantValueDescription
QStyleOptionViewItem::Version14

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.

ConstantValueDescription
QStyleOptionViewItem::None0x00Indicates a normal item.
QStyleOptionViewItem::WrapText0x01Indicates an item with wrapped text.
QStyleOptionViewItem::Alternate0x02Indicates that the item's background is rendered using alternateBase.
QStyleOptionViewItem::HasCheckIndicator0x04Indicates that the item has a check state indicator.
QStyleOptionViewItem::HasDisplay0x08Indicates that the item has a display role.
QStyleOptionViewItem::HasDecoration0x10Indicates 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.

ConstantValueDescription
QStyleOptionViewItem::Invalid0The ViewItemPosition is unknown and should be disregarded.
QStyleOptionViewItem::Beginning1The item appears at the beginning of the row.
QStyleOptionViewItem::Middle2The item appears in the middle of the row.
QStyleOptionViewItem::End3The item appears at the end of the row.
QStyleOptionViewItem::OnlyOne4The 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.

QLocale QStyleOptionViewItem::locale

This variable holds the locale to use for displaying text, numbers and dates.

This allows the style to display e.g. dates in a different locale than the default locale of the application.

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.

const QWidget *QStyleOptionViewItem::widget

This variable holds the parent widget of the item

This member contains the parent widget (itemview) of the item to be able to e.g. access some properties within the QStyledItemDelegate methods.

© 2024 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.