- Qt 6.8
- Qt Widgets
- C++ Classes
- QStyleHintReturn
- Qt 6.8.3 Reference Documentation

# 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

- List of all members, including inherited members

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

## Related Non-Members

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.