Класс 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