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

相关推荐
尘中远3 小时前
【Qwt 7.0 系列】坐标轴与刻度系统 —— 刻度引擎、网格、图例与刻度朝内
qt·数据可视化·qcustomplot·qwt·工业软件·科学绘图
sycmancia5 小时前
Qt——多线程间的互斥
开发语言·qt
尘中远11 小时前
【Qwt 7.0 系列】常用图表类型实战 —— 柱状图、散点图、箱线图与直方图
qt·qwt·工业软件·科学绘图
尘中远11 小时前
【Qwt 7.0 系列】交互功能详解 —— 平移、缩放、坐标轴交互与数据拾取
qt·数据可视化·绘图·qcustomplot·qwt·科学绘图
sycmancia11 小时前
Qt——进程与线程的概念
qt
郝学胜-神的一滴12 小时前
Qt 高级编程 034:深耕QWidget底层内核—彻底吃透无边框窗口设计核心原理
开发语言·c++·qt·程序人生·软件开发·用户界面
尘中远12 小时前
【Qwt 7.0 系列】3D 数据可视化 —— OpenGL 高性能三维绘图
qt·3d·qcustomplot·qwt·科学绘图·高性能绘图
满天星830357713 小时前
【Qt】控件(二) (geometry及与frameGeometry的区别)
开发语言·qt
大气的小蜜蜂13 小时前
基于Python+PyQt5+SQLite的药房管理系统实现:事务一致性与界面解耦全流程解析
python·qt·sqlite
尘中远13 小时前
【Qwt 7.0 系列】总体架构解析 —— 从单体到三库模块化的演进
qt·matplotlib·绘图·qwt·科学绘图