Spec-Zone.ru › Qt 6.1

Класс QStylePainter

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

Заголовок: #include <QStylePainter>
CMake: find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets)
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 = QPalette::NoRole)
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. Pixmap выравнивается в соответствии с 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-6.1/qstylepainter.html

Spec-Zone.ru

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