Spec-Zone.ru › Qt 5.9

Класс QProxyStyle

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

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

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

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

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

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

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

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

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

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 2 сигнала, унаследованные от QObject
  • 6 статических открытых членов, унаследованных от QStyle
  • 11 статических открытых членов, унаследованных от 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
    {
        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 = Q_NULLPTR)

Конструирует объект QProxyStyle для переопределения поведения в указанном style или в стиле по умолчанию для текущего приложения, если style не указан.

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

QProxyStyle::QProxyStyle(const QString &key)

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

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

QProxyStyle::~QProxyStyle()

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

QStyle *QProxyStyle::baseStyle() const

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

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

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

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

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

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

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

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

[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().

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Реализация по умолчанию возвращает -1.

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

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

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

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

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

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

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

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

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

void QProxyStyle::setBaseStyle(QStyle *style)

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

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

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

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

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

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

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

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

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

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

[virtual] QPalette QProxyStyle::standardPalette() const

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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