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 天前
当边缘AI上产线:QtitanDocking 如何让工业 HMI 实现多视图协同
人工智能·qt·ui·边缘计算·qt6.3
Quz3 天前
QML SwipeDelegate 滑动委托
qt
Quz3 天前
QML 列表中的四种委托:ItemDelegate、CheckDelegate、RadioDelegate、SwitchDelegate
qt
实心儿儿3 天前
Qt — 显示类控件
qt
江湖人称菠萝包4 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter9-Qt Charts
笔记·qt·qt5
扶尔魔ocy4 天前
【QT android】环境安装及第一个QT项目
qt·andriod开发
江湖人称菠萝包4 天前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter10-Data Visualization
笔记·qt·qt5
Cx330❀4 天前
Qt 常用控件属性与底层机制详解:从窗口半透明、浮点数陷阱到 QSS 与焦点策略
qt·ui·图形渲染
Quz4 天前
QML DelegateChooser:多条件组合与按列选择委托
qt
Quz4 天前
QML DelegateChooser:按角色选择委托与按索引选择委托
qt