Spec-Zone.ru › Qt 5.14

Класс QStylePainter

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

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

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

QStylePainter(QPaintDevice *pd, QWidget *widget)
QStylePainter(QWidget *widget)
QStylePainter()
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 = ...)
void drawPrimitive(QStyle::PrimitiveElement pe, const QStyleOption &option)
QStyle * style() const

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

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(QPaintDevice *pd, QWidget *widget)

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

QStylePainter::QStylePainter(QWidget *widget)

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

QStylePainter::QStylePainter()

Создает QStylePainter.

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 = ...)

Рисует 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.14/qstylepainter.html

Spec-Zone.ru

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