Класс QPainterPathStroker
Класс QPainterPathStroker используется для создания заливаемых контуров для заданной траектории рисования. Подробнее...
| Заголовок: | #include <QPainterPathStroker> |
| qmake: | QT += gui |
| С момента: | Qt 4.1 |
Этот класс был представлен в Qt 4.1.
Открытые функции
| QPainterPathStroker(const QPen &pen) | |
| QPainterPathStroker() | |
| ~QPainterPathStroker() | |
| Qt::PenCapStyle | capStyle() const |
| QPainterPath | createStroke(const QPainterPath &path) const |
| qreal | curveThreshold() const |
| qreal | dashOffset() const |
| QVector<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 QVector<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, которое устанавливается по умолчанию.
Документация по функциям членов
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().
QVector<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)
Указывает порог сглаживания кривой 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 QVector<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)
Устанавливает ширину создаваемого контура painter path в 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-5.14/qpainterpathstroker.html