Spec-Zone.ru › Qt 5.9

Класс QStylePainter

Класс QStylePainter — это вспомогательный класс для рисования элементов QStyle внутри виджета. Подробнее...

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

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

QStylePainter()
QStylePainter(QWidget *widget)
QStylePainter(QPaintDevice *pd, QWidget *widget)
bool begin(QWidget *widget)
bool begin(QPaintDevice *pd, QWidget *widget)
void drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)
void drawControl(QStyle::ControlElement ce, const QStyleOption &option)
void drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)
void drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole)
void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)
QStyle * style() const
  • 187 открытых функций, унаследованных от QPainter

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

Класс QStylePainter — это вспомогательный класс для рисования элементов QStyle внутри виджета.

QStylePainter расширяет QPainter, добавляя набор высокоуровневых draw...() функций, реализованных поверх API QStyle. Преимущество использования QStylePainter заключается в том, что списки параметров значительно короче. В то время как объект QStyle должен уметь рисовать на любом виджете с помощью любого рисовальщика (потому что приложение обычно имеет один объект QStyle, используемый всеми виджетами), QStylePainter инициализируется с виджетом, устраняя необходимость указывать QWidget, QPainter и QStyle для каждого вызова функции.

Пример использования QStyle напрямую:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QPainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Background);

    style()->drawPrimitive(QStyle::PE_FrameFocusRect, &option, &painter, this);
}

Пример использования QStylePainter:

void MyWidget::paintEvent(QPaintEvent * /* event */)
{
    QStylePainter painter(this);

    QStyleOptionFocusRect option;
    option.initFrom(this);
    option.backgroundColor = palette().color(QPalette::Background);

    painter.drawPrimitive(QStyle::PE_FrameFocusRect, option);
}

См. также QStyle и QStyleOption.

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

QStylePainter::QStylePainter()

Конструктор QStylePainter.

QStylePainter::QStylePainter(QWidget *widget)

Конструирует QStylePainter с использованием виджета widget в качестве устройства рисования.

QStylePainter::QStylePainter(QPaintDevice *pd, QWidget *widget)

Конструирует QStylePainter, используя pd в качестве устройства рисования и атрибуты из widget.

bool QStylePainter::begin(QWidget *widget)

Начинает операции рисования на указанном виджете widget. Возвращает true если рисовальщик готов к использованию; в противном случае возвращает false.

Это автоматически вызывается конструктором, принимающим QWidget.

bool QStylePainter::begin(QPaintDevice *pd, QWidget *widget)

Это перегруженная функция.

Начинает операции рисования на устройстве рисования pd так, как если бы это был widget.

Это автоматически вызывается конструктором, принимающим QPaintDevice и QWidget.

void QStylePainter::drawComplexControl(QStyle::ComplexControl cc, const QStyleOptionComplex &option)

Использует стиль виджета для рисования сложного элемента управления cc, заданного QStyleOptionComplex option.

См. также QStyle::drawComplexControl().

void QStylePainter::drawControl(QStyle::ControlElement ce, const QStyleOption &option)

Использует стиль виджета для рисования элемента управления ce, заданного QStyleOption option.

См. также QStyle::drawControl().

void QStylePainter::drawItemPixmap(const QRect &rect, int flags, const QPixmap &pixmap)

Рисует pixmap в прямоугольнике rect. Изображение выравнивается в соответствии с flags.

См. также QStyle::drawItemPixmap() и Qt::Alignment.

void QStylePainter::drawItemText(const QRect &rect, int flags, const QPalette &pal, bool enabled, const QString &text, QPalette::ColorRole textRole = QPalette::NoRole)

Рисует text в прямоугольнике rect с палитрой pal. Текст выравнивается и обрезается в соответствии с flags.

Цвет пера задается с помощью textRole. Значение enabled указывает, активирован ли элемент; при переопределении это значение должно влиять на то, как элемент отображается.

См. также QStyle::drawItemText() и Qt::Alignment.

void QStylePainter::drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)

Использует стиль виджета для рисования примитивного элемента pe, заданного QStyleOption option.

См. также QStyle::drawPrimitive().

QStyle *QStylePainter::style() const

Возвращает текущий стиль, используемый QStylePainter.

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

Spec-Zone.ru

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