Spec-Zone.ru › Qt 5.6

Класс 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
  • 31 открытых функций унаследовано от 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().

END_OF_DOCUMENT_MARKER

[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/archives/qt-5.6/qproxystyle.html

Spec-Zone.ru

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