QStyleHintReturn Class

The QStyleHintReturn class provides style hints that return more than basic data types. More...

Header: #include <QStyleHintReturn>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherited By:

QStyleHintReturnMask and QStyleHintReturnVariant

Public Types

enum HintReturnType { SH_Default, SH_Mask, SH_Variant }
enum StyleOptionType { Type }
enum StyleOptionVersion { Version }

Public Functions

QStyleHintReturn(int version = QStyleOption::Version, int type = SH_Default)

Public Variables

int type
int version
T qstyleoption_cast(const QStyleHintReturn *hint)
T qstyleoption_cast(QStyleHintReturn *hint)

Detailed Description

QStyleHintReturn and its subclasses are used to pass information from a style back to the querying widget. This is most useful when the return value from QStyle::styleHint() does not provide enough detail; for example, when a mask is to be returned.

Member Type Documentation

enum QStyleHintReturn::HintReturnType

Constant Value Description
QStyleHintReturn::SH_Default 0xf000 QStyleHintReturn
QStyleHintReturn::SH_Mask 0xf001 QStyle::SH_RubberBand_Mask QStyle::SH_FocusFrame_Mask
QStyleHintReturn::SH_Variant 0xf002 QStyle::SH_TextControl_FocusIndicatorTextCharFormat

enum QStyleHintReturn::StyleOptionType

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

Constant Value Description
QStyleHintReturn::Type SH_Default The type of style option provided (SH_Default for this class).

The type is used internally by QStyleHintReturn, 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 QStyleHintReturn subclass and your own styles.

See also StyleOptionVersion.

enum QStyleHintReturn::StyleOptionVersion

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

Constant Value Description
QStyleHintReturn::Version 1 1

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

See also StyleOptionType.

Member Function Documentation

QStyleHintReturn::QStyleHintReturn(int version = QStyleOption::Version, int type = SH_Default)

Constructs a QStyleHintReturn with version version and type type.

The version has no special meaning for QStyleHintReturn; it can be used by subclasses to distinguish between different version of the same hint type.

See also QStyleOption::version and QStyleOption::type.

Member Variable Documentation

int QStyleHintReturn::type

This variable holds the type of the style hint container

See also HintReturnType.

int QStyleHintReturn::version

This variable holds the version of the style hint return container

This value can be used by subclasses to implement extensions without breaking compatibility. If you use qstyleoption_cast<T>(), you normally do not need to check it.

Related Non-Members

template <typename T> T qstyleoption_cast(const QStyleHintReturn *hint)

Returns a T or nullptr depending on the type and version of hint.

Example:

int MyStyle::styleHint(StyleHint stylehint, const QStyleOption *opt,
                       const QWidget *widget, QStyleHintReturn* returnData) const;
{
    if (stylehint == SH_RubberBand_Mask) {
        const QStyleHintReturnMask *maskReturn =
                qstyleoption_cast<const QStyleHintReturnMask *>(hint);
        if (maskReturn) {
            ...
        }
    }
    ...
}

See also QStyleHintReturn::type and QStyleHintReturn::version.

template <typename T> T qstyleoption_cast(QStyleHintReturn *hint)

This is an overloaded function.

Returns a T or nullptr depending on the type of hint.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qstylehintreturn.html