Класс 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
- 34 открытых функций унаследовано от QObject
Переопределённые защищённые функции
| virtual bool | event(QEvent *e) override |
- 9 защищённых функций унаследовано от QObject
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 1 открытый слот унаследован от QObject
- 2 сигнала унаследованы от QObject
- 1 открытая переменная унаследована от QObject
- 6 статические открытые члены унаследованы от QStyle
- 10 статических открытых членов унаследовано от QObject
- 9 защищённых функций унаследовано от QObject
- 2 защищённых переменных унаследовано от 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 не указан.
Владение стилем передается 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)
Устанавливает базовый стиль, который должен быть проксирован.
Владение стилем передается QProxyStyle.
Если style равен нулю, автоматически будет назначен стиль, зависящий от платформы.
См. также 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/archives/qt-5.11/qproxystyle.html