QPainterPathStroker 类
QPainterPathStroker 类用于为给定的 painter path 生成可填充的轮廓。 更多...
头文件 | #include <QPainterPathStroker> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake | QT += gui |
- 所有成员列表,包括继承成员
- QPainterPathStroker 属于 绘画类。
公共函数
QPainterPathStroker() | |
QPainterPathStroker(const QPen &pen) | |
~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 作为参数,创建一个新的 painter path 表示给定路径的轮廓。然后可以填充新生成的 painter path 以绘制原始 painter path 的轮廓。
您可以通过以下函数控制轮廓的各种设计方面(宽度、末端样式、连接样式和虚线样式)
setDashPattern() 函数接受 Qt::PenStyle 对象和表示模式的列表作为参数。
此外,您还可以使用 setCurveThreshold() 函数指定曲线的阈值,以控制绘制曲线时的颗粒度。默认阈值是一个良好的调整值(0.25),通常您不需要修改它。但是,您可以减少其值以使曲线外观更平滑。
您还可以使用setMiterLimit()函数来控制生成的轮廓的斜接限制。斜接限制描述了斜接接合可以扩展到每个接合多远。此限制以宽度为单位指定,因此像素级的斜接限制将是miterlimit * width
。此值仅在接合样式为Qt::MiterJoin时使用。
createStroke()函数生成的绘图路径仅应用于绘制给定的绘图路径。否则可能会引起意外的行为。生成的轮廓还需要默认设置的Qt::WindingFill填充规则。
成员函数文档
QPainterPathStroker::QPainterPathStroker()
创建一个新的描边器。
[显式构造]
QPainterPathStroker::QPainterPathStroker(const QPen &pen)
基于pen创建一个新的描边器。
[noexcept]
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)
将生成的轮廓的端点样式设置为样式。如果设置了虚线模式,则模式中的每个段都受端点样式的影响。
另请参阅 capStyle().
void QPainterPathStroker::setCurveThreshold(qreal threshold)
指定曲线平滑阈值,控制生成的轮廓的曲线绘制粒度。
默认阈值为调整良好的值(0.25),通常不需要修改它。然而,您可以减小其值以使曲线看起来更平滑。
另请参阅 curveThreshold().
void QPainterPathStroker::setDashOffset(qreal offset)
将生成的轮廓的虚线偏移设置为偏移。
有关虚线偏移的说明,请参阅QPen::setDashOffset文档。
另请参阅 dashOffset().
void QPainterPathStroker::setDashPattern(Qt::PenStyle style)
将生成的轮廓的虚线模式设置为样式。
另请参阅 dashPattern().
void QPainterPathStroker::setDashPattern(const QList<qreal> &dashPattern)
这是一个重载函数。
将生成的轮廓的虚线模式设置为虚线模式。此函数可以指定自定义虚线模式。
列表中的每个元素包含画笔中虚线及间隙的长度,从第一个元素的开头虚线开始,第二个元素的第一个间隙开始,并为每个后续的元素对交替虚线和间隙。
列表中的元素数目可以是奇数,此时当模式重复时,最后一个元素将扩展到第一个元素的长度。
void QPainterPathStroker::setJoinStyle(Qt::PenJoinStyle style)
将生成的轮廓的拐角样式设置为样式。
另请参阅 joinStyle().
void QPainterPathStroker::setMiterLimit(qreal limit)
将生成的轮廓的斜接极限设置为限制。
斜接极限描述了斜接只能在离每个连接多远的地方延伸。该限制是以当前设置的宽度为单位指定的。因此,像素级的斜接极限将是miterlimit * width
。
仅当连接样式为Qt::MiterJoin时使用此值。
另请参阅 miterLimit().
void QPainterPathStroker::setWidth(qreal width)
设置生成的轮廓画笔路径的宽度为 width。
生成的轮廓将向外扩展大约 width 的 50%,以达到给定输入路径原始轮廓的两侧。
另请参阅 width 方法。
qreal QPainterPathStroker::width() const
返回生成的轮廓宽度。
另请参阅 setWidth 方法。
© 2024 The Qt Company Ltd. 本文档中的文档贡献包括其各自所有者的版权。本提供的文档根据自由软件基金会的发布,受 GNU 自由文档许可证 1.3 版本 的条款约束。Qt 及相关标志是 The Qt Company Ltd. 在芬兰及全球其他国家的商标。所有其他商标均为各自所有者的财产。