Qt绘制图形时自定义点划线间隔的办法--setDashPattern

尽管Qt::PenStyle给出了一些现成的点划线,但是某些场合下并不能满足我们的需要。此时可以使用QPen::setDashPattern来自定义点划线间隔。

cpp 复制代码
void QPen::setDashPattern(const QVector<qreal> &pattern)

根据Qt官方文档所说:

The pattern must be specified as an even number of positive entries where the entries 1, 3, 5... are the dashes and 2, 4, 6... are the spaces

pattern必须包含偶数个元素。第1,3,5...元素(从1计数,不从0计数)代表线长度,第2,4,6...代表空白长度。划线时,QPen按照上面的周期重复绘制。

The dash pattern is specified in units of the pens width; e.g. a dash of length 5 in width 10 is 50 pixels long

Pattern中元素的单位不是像素,而是QPen::width()的返回值。比如说,QPen的width是10,而某元素定义为5,那么实际代表的像素数就是5x10=50

相关推荐
马里马里奥-13 小时前
从零搭建AI Agent工具链的技术文章大纲
开发语言·qt
Quz16 小时前
QML 与 JavaScript 交互方式:内联函数、外部文件、信号槽与工作线程
javascript·qt
Quz16 小时前
QML ToolTip 组件:延迟提示与自定义外观
qt
wWYy.17 小时前
RPC详解
qt·rpc·php
Fu_Lin_18 小时前
Qt嵌入式从零基础到精通(01):Qt嵌入式开发全景图:从桌面Qt到ARM Linux
linux·arm开发·qt·qt5·嵌入式linux
海清河晏11118 小时前
Qt实战:从零构建美化登录界面
开发语言·c++·qt
Fu_Lin_19 小时前
《Qt嵌入式从零基础到精通》前言与阅读指南
开发语言·qt
Eason_CM19 小时前
QT学习教程与实战三:控件与QT Designer
c++·windows·qt·visual studio
mabing9931 天前
Qt 生成条纹图
开发语言·qt
Fu_Lin_1 天前
Qt 嵌入式从零基础到精通总纲
开发语言·qt·嵌入式·qt嵌入式