Spec-Zone.ru › Qt 5.12

Класс QProxyStyle

Класс QProxyStyle — это вспомогательный класс, который упрощает динамическое переопределение элементов QStyle. Подробнее...

Заголовок: #include <QProxyStyle>
qmake: QT += widgets
С тех пор: Qt 4.6
Наследует: QCommonStyle
  • Список всех членов, включая наследуемые члены
  • Устаревшие члены

Открытые функции

QProxyStyle(QStyle *style = nullptr)
QProxyStyle(const QString &key)
virtual ~QProxyStyle()
QStyle * baseStyle() const
void setBaseStyle(QStyle *style)

Переопределённые открытые функции

virtual void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const override
virtual void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override
virtual void drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, const QPixmap &pixmap) const override
virtual void drawItemText(QPainter *painter, const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const override
virtual void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const override
virtual QPixmap generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const override
virtual QStyle::SubControl hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget = nullptr) const override
virtual QRect itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const override
virtual QRect itemTextRect(const QFontMetrics &fm, const QRect &r, int flags, bool enabled, const QString &text) const override
virtual int layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override
virtual int pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override
virtual void polish(QWidget *widget) override
virtual void polish(QPalette &pal) override
virtual void polish(QApplication *app) override
virtual QSize sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
virtual QIcon standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const override
virtual QPalette standardPalette() const override
virtual QPixmap standardPixmap(QStyle::StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = nullptr) const override
virtual int styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const override
virtual QRect subControlRect(QStyle::ComplexControl cc, const QStyleOptionComplex *option, QStyle::SubControl sc, const QWidget *widget) const override
virtual QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget) const override
virtual void unpolish(QWidget *widget) override
virtual void unpolish(QApplication *app) override
  • 17 открытых функций унаследовано от QCommonStyle
  • 24 открытых функции унаследовано от QStyle
  • 31 открытых функция унаследовано от QObject

Статические открытые члены

const QMetaObject staticMetaObject
  • 6 статических открытых членов унаследовано от QStyle
  • 9 статических открытых членов унаследовано от QObject

Переопределённые защищённые функции

virtual bool event(QEvent *e) override
  • 9 защищённых функций унаследовано от QObject

Дополнительные наследуемые члены

  • 1 свойство унаследовано от QObject
  • 1 открытый слот унаследовано от QObject
  • 2 сигнала унаследовано от QObject
  • 9 защищённых функций унаследовано от QObject

Подробное описание

Класс QProxyStyle — это вспомогательный класс, который упрощает динамическое переопределение элементов QStyle.

Класс QProxyStyle оборачивает QStyle (обычно, стандартную системную тему) для динамического переопределения отрисовки или другого поведения стиля.

Следующий пример демонстрирует, как переопределить поведение подчеркивания сочетаний клавиш на любой платформе:

#include "textedit.h"
#include <QApplication>
#include <QProxyStyle>

class MyProxyStyle : public QProxyStyle
{
  public:
    int styleHint(StyleHint hint, const QStyleOption *option = 0,
                  const QWidget *widget = 0, QStyleHintReturn *returnData = 0) const override
    {
        if (hint == QStyle::SH_UnderlineShortcut)
            return 0;
        return QProxyStyle::styleHint(hint, option, widget, returnData);
    }
};

int main(int argc, char **argv)
{
    Q_INIT_RESOURCE(textedit);

    QApplication a(argc, argv);
    a.setStyle(new MyProxyStyle);
    TextEdit mw;
    mw.resize(700, 800);
    mw.show();
    //...
}

Предупреждение: стандартные темы Qt учтут этот параметр, потому что вызывают QStyle::proxy(), но нет гарантии, что QStyle::proxy() будет вызван для пользовательских или системных тем. Например, это не сработает на Mac, где меню обрабатываются операционной системой.

См. также QStyle.

Документация по функциям-членам

QProxyStyle::QProxyStyle(QStyle *style = nullptr)

Создаёт объект QProxyStyle для переопределения поведения в указанном стиле style или в стандартном родном стиле style, если style не указан.

Владение style передаётся объекту QProxyStyle.

QProxyStyle::QProxyStyle(const QString &key)

Создаёт объект QProxyStyle для переопределения поведения в базовом стиле, указанном ключом key, или в текущем стиле приложения, если указанный ключ стиля key не распознан.

См. также QStyleFactory::create().

[virtual] QProxyStyle::~QProxyStyle()

Уничтожает объект QProxyStyle.

QStyle *QProxyStyle::baseStyle() const

Возвращает объект базового стиля прокси. Если базовый стиль не задан для стиля прокси, QProxyStyle создаст экземпляр стиля приложения.

См. также setBaseStyle() и QStyle.

[override virtual] void QProxyStyle::drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const

Переопределено из QCommonStyle::drawComplexControl().

[override virtual] void QProxyStyle::drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

Переопределено из QCommonStyle::drawControl().

[override virtual] void QProxyStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, const QPixmap &pixmap) const

Переопределено из QStyle::drawItemPixmap().

[override virtual] void QProxyStyle::drawItemText(QPainter *painter, const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole) const

Переопределено из QStyle::drawItemText().

[override virtual] void QProxyStyle::drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const

Переопределено из QCommonStyle::drawPrimitive().

[override virtual protected] bool QProxyStyle::event(QEvent *e)

Переопределено из QObject::event().

[override virtual] QPixmap QProxyStyle::generatedIconPixmap(QIcon::Mode iconMode, const QPixmap &pixmap, const QStyleOption *opt) const

Переопределено из QCommonStyle::generatedIconPixmap().

[override virtual] QStyle::SubControl QProxyStyle::hitTestComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget = nullptr) const

Переопределено из QCommonStyle::hitTestComplexControl().

[override virtual] QRect QProxyStyle::itemPixmapRect(const QRect &r, int flags, const QPixmap &pixmap) const

Переопределено из QStyle::itemPixmapRect().

[override virtual] QRect QProxyStyle::itemTextRect(const QFontMetrics &fm, const QRect &r, int flags, bool enabled, const QString &text) const

Переопределено из QStyle::itemTextRect().

[override virtual] int QProxyStyle::layoutSpacing(QSizePolicy::ControlType control1, QSizePolicy::ControlType control2, Qt::Orientation orientation, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

Переопределено из QCommonStyle::layoutSpacing().

Этот слот вызывается методом layoutSpacing() для определения интервала, который должен быть использован между control1 и control2 в макете. orientation определяет, выстроены ли элементы управления рядом или уложены вертикально. Параметр option может быть использован для передачи дополнительной информации о родительском виджете. Параметр widget является необязательным и также может быть использован, если option равен 0.

Значение по умолчанию -1.

См. также combinedLayoutSpacing().

[override virtual] int QProxyStyle::pixelMetric(QStyle::PixelMetric metric, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

Переопределено из QCommonStyle::pixelMetric().

[override virtual] void QProxyStyle::polish(QWidget *widget)

Переопределено из QCommonStyle::polish().

[override virtual] void QProxyStyle::polish(QPalette &pal)

Переопределено из QCommonStyle::polish().

[override virtual] void QProxyStyle::polish(QApplication *app)

Переопределено из QCommonStyle::polish().

void QProxyStyle::setBaseStyle(QStyle *style)

Устанавливает базовый стиль, который должен быть проксирован.

Владение style передаётся объекту QProxyStyle.

Если стиль равен нулю, автоматически будет назначен стиль, зависящий от операционной системы.

См. также baseStyle().

[override virtual] QSize QProxyStyle::sizeFromContents(QStyle::ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const

Переопределено из QCommonStyle::sizeFromContents().

[override virtual] QIcon QProxyStyle::standardIcon(QStyle::StandardPixmap standardIcon, const QStyleOption *option = nullptr, const QWidget *widget = nullptr) const

Возвращает иконку для данного standardIcon.

Переопределите этот слот, чтобы предоставить свои собственные иконки в подклассе QStyle. Аргумент option может использоваться для передачи дополнительной информации, необходимой для поиска соответствующей иконки. Аргумент widget является необязательным и также может использоваться для поиска иконки.

[override virtual] QPalette QProxyStyle::standardPalette() const

Реализовано повторно из QStyle::standardPalette().

[override virtual] QPixmap QProxyStyle::standardPixmap(QStyle::StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget = nullptr) const

Реализовано повторно из QCommonStyle::standardPixmap().

[override virtual] int QProxyStyle::styleHint(QStyle::StyleHint hint, const QStyleOption *option = nullptr, const QWidget *widget = nullptr, QStyleHintReturn *returnData = nullptr) const

Реализовано повторно из QCommonStyle::styleHint().

[override virtual] QRect QProxyStyle::subControlRect(QStyle::ComplexControl cc, const QStyleOptionComplex *option, QStyle::SubControl sc, const QWidget *widget) const

Реализовано повторно из QCommonStyle::subControlRect().

[override virtual] QRect QProxyStyle::subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget) const

Реализовано повторно из QCommonStyle::subElementRect().

[override virtual] void QProxyStyle::unpolish(QWidget *widget)

Реализовано повторно из QCommonStyle::unpolish().

[override virtual] void QProxyStyle::unpolish(QApplication *app)

Реализовано повторно из QCommonStyle::unpolish().

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API