QStyleHintReturn Class

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

Header: #include <QStyleHintReturn>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
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

ConstantValueDescription
QStyleHintReturn::SH_Default0xf000QStyleHintReturn
QStyleHintReturn::SH_Mask0xf001QStyle::SH_RubberBand_Mask QStyle::SH_FocusFrame_Mask
QStyleHintReturn::SH_Variant0xf002QStyle::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.

ConstantValueDescription
QStyleHintReturn::TypeSH_DefaultThe 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.

ConstantValueDescription
QStyleHintReturn::Version11

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.

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