Класс QPainterPathStroker
Класс QPainterPathStroker используется для создания заполняемых контуров для заданной траектории рисования. Подробнее...
| Заголовок: | #include <QPainterPathStroker> |
| CMake: | find_package(Qt6 COMPONENTS Gui REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
| qmake: | QT += gui |
Открытые функции
| QPainterPathStroker(const QPen &pen) | |
| QPainterPathStroker() | |
| ~QPainterPathStroker() | |
| Qt::PenCapStyle | capStyle() const |
| QPainterPath | createStroke(const QPainterPath &path) const |
| qreal | curveThreshold() const |
| qreal | dashOffset() const |
| QList<qreal> | dashPattern() const |
| Qt::PenJoinStyle | joinStyle() const |
| qreal | miterLimit() const |
| void | setCapStyle(Qt::PenCapStyle style) |
| void | setCurveThreshold(qreal threshold) |
| void | setDashOffset(qreal offset) |
| void | setDashPattern(Qt::PenStyle style) |
| void | setDashPattern(const QList<qreal> &dashPattern) |
| void | setJoinStyle(Qt::PenJoinStyle style) |
| void | setMiterLimit(qreal limit) |
| void | setWidth(qreal width) |
| qreal | width() const |
Подробное описание
Вызывая функцию createStroke() и передавая в качестве аргумента заданную QPainterPath, создается новая траектория рисования, представляющая контур заданной траектории. Созданную траекторию рисования можно затем заполнить, чтобы нарисовать контур исходной траектории рисования.
Вы можете контролировать различные аспекты дизайна (ширина, стили закругления, стили соединения и шаблон пунктирной линии) контура, используя следующие функции:
Функция setDashPattern() принимает как объект Qt::PenStyle, так и список представления шаблона в качестве аргумента.
Кроме того, вы можете указать порог кривой, контролируя точность, с которой рисуется кривая, используя функцию setCurveThreshold(). Значение по умолчанию — хорошо настроенное значение (0,25), и обычно его изменять не нужно. Однако вы можете сделать кривую более плавной, уменьшив его значение.
Вы также можете контролировать предел скругления для сгенерированного контура, используя функцию setMiterLimit(). Предел скругления описывает расстояние от каждого соединения, на которое может распространяться соединение скругления. Предел задается в единицах ширины, поэтому пиксельный предел скругления составит miterlimit * width. Это значение используется только в том случае, если стиль соединения — Qt::MiterJoin.
Траектория рисования, сгенерированная функцией createStroke(), должна использоваться только для создания контура заданной траектории рисования. В противном случае это может привести к непредсказуемому поведению. Для сгенерированных контуров также требуется правило заполнения Qt::WindingFill, которое устанавливается по умолчанию.
Документация по функциям-членам
[since 5.3] QPainterPathStroker::QPainterPathStroker(const QPen &pen)
Создает новый объект строкера на основе pen.
Эта функция была добавлена в Qt 5.3.
QPainterPathStroker::QPainterPathStroker()
Создает новый объект строкера.
QPainterPathStroker::~QPainterPathStroker()
Удаляет строкер.
Qt::PenCapStyle QPainterPathStroker::capStyle() const
Возвращает стиль закругления созданных контуров.
См. также setCapStyle().
QPainterPath QPainterPathStroker::createStroke(const QPainterPath &path) const
Создает новую траекторию, которая представляет заполненную область, являющуюся контуром заданной path.
Различные аспекты дизайна контура основаны на свойствах строкера: width(), capStyle(), joinStyle(), dashPattern(), curveThreshold() и miterLimit().
Созданная траектория должна использоваться только для создания контура данной траектории рисования. В противном случае это может привести к неожиданному поведению. Для сгенерированных контуров также требуется правило заполнения Qt::WindingFill, которое устанавливается по умолчанию.
qreal QPainterPathStroker::curveThreshold() const
Возвращает порог сглаживания кривых для созданных контуров.
См. также setCurveThreshold().
qreal QPainterPathStroker::dashOffset() const
Возвращает смещение пунктирной линии для созданных контуров.
См. также setDashOffset().
QList<qreal> QPainterPathStroker::dashPattern() const
Возвращает шаблон пунктирной линии для созданных контуров.
См. также setDashPattern().
Qt::PenJoinStyle QPainterPathStroker::joinStyle() const
Возвращает стиль соединения для созданных контуров.
См. также setJoinStyle().
qreal QPainterPathStroker::miterLimit() const
Возвращает предел скругления для созданных контуров.
См. также setMiterLimit().
void QPainterPathStroker::setCapStyle(Qt::PenCapStyle style)
Устанавливает стиль закругления созданных контуров в style. Если установлен шаблон пунктирной линии, каждый сегмент шаблона подчиняется стилю закругления style.
См. также capStyle().
void QPainterPathStroker::setCurveThreshold(qreal threshold)
Устанавливает порог сглаживания кривых, контролируя точность, с которой рисуется кривая сгенерированных контуров.
Значение по умолчанию — хорошо настроенное значение (0,25), и обычно его изменять не нужно. Однако вы можете сделать кривую более плавной, уменьшив его значение.
См. также curveThreshold().
void QPainterPathStroker::setDashOffset(qreal offset)
Устанавливает смещение пунктирной линии для сгенерированных контуров в offset.
См. документацию для QPen::setDashOffset() для описания смещения пунктирной линии.
См. также dashOffset().
void QPainterPathStroker::setDashPattern(Qt::PenStyle style)
Устанавливает шаблон пунктирной линии для сгенерированных контуров в style.
См. также dashPattern().
void QPainterPathStroker::setDashPattern(const QList<qreal> &dashPattern)
Это перегруженный метод.
Устанавливает шаблон пунктирной линии для сгенерированных контуров в dashPattern. Эта функция позволяет задавать пользовательские шаблоны пунктирной линии.
Каждый элемент списка содержит длины штрихов и промежутков в обводке, начиная с первого штриха в первом элементе, первого промежутка во втором элементе и чередуя штрихи и промежутки для каждой последующей пары элементов.
Список может содержать нечётное число элементов, в этом случае последний элемент будет расширен на длину первого элемента при повторении шаблона.
void QPainterPathStroker::setJoinStyle(Qt::PenJoinStyle style)
Устанавливает стиль соединения сгенерированных контуров в style.
См. также joinStyle().
void QPainterPathStroker::setMiterLimit(qreal limit)
Устанавливает предел среза для сгенерированных контуров в limit.
Предел среза определяет расстояние от каждого соединения, на которое может распространяться соединение среза. Предел задаётся в единицах текущей ширины. Таким образом, пиксельный предел среза будет miterlimit * width.
Это значение используется только в том случае, если стиль соединения — Qt::MiterJoin.
См. также miterLimit().
void QPainterPathStroker::setWidth(qreal width)
Устанавливает ширину сгенерированной обводки пути рисования в width.
Сгенерированные контуры будут примерно на 50% от width с каждой стороны от исходного контура заданного входного пути.
См. также width().
qreal QPainterPathStroker::width() const
Возвращает ширину сгенерированных контуров.
См. также setWidth().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.1/qpainterpathstroker.html