水木社区手机版
首页
|版面-KDE与Qt编程技术(KDE_Qt)|
新版wap站已上线
返回
1/1
|
转到
主题:请教Qt如何画轨道线
楼主
|
fishingriver
|
2021-08-28 07:47:48
|
展开
请教各位大侠,我们项目里有一个画地图的功能,连接各个路口的坐标点画成线就可以了。其中有的线路是轨道线路,怎么画出轨道的样式呢?
我尝试了设置画刷贴图,但没有成功,画刷只能贴一个封闭区域
QPen里或QGraphicsLineItem里似乎也设置不了
请各位大侠指点一下,不胜感激!
--
FROM 221.222.20.*
3楼
|
fishingriver
|
2021-08-29 16:33:55
|
展开
对的,谢谢回复!
我昨天自己摸索了一下,已经搞定了,方法是用画笔画两遍,第一遍都是黑的,粗一点,第二次是dashline,细一点,代码如下所示。
我还尝试了用QGraphicsLineItem,提取stroke的方式,但没成功
画两次的方式虽然也能实现出效果,但没有只画一次,设置线型方便,不知道你还有更好的办法没
QPainter painter(this);
QPen pen;
QPainterPath path;
path.moveTo(100, 100);
path.lineTo(100, 300);
path.lineTo(300, 400);
pen.setWidth(10);
pen.setColor(QColor(102, 139, 139));
painter.setPen(pen);
painter.drawPath(path);
pen.setWidth(6);
pen.setColor(Qt::white);
QVector<qreal> dashes;
qreal space = 8;
dashes << 2 << 4;
//dashes << 2 << space << 2;
pen.setDashPattern(dashes);
painter.setPen(pen);
painter.drawPath(path);
【 在 dormouseBHU 的大作中提到: 】
: 这种效果?
: [upload=1][/upload]
--
FROM 124.64.17.*
5楼
|
fishingriver
|
2021-08-29 19:56:57
|
展开
请问你知道高德地图上这种带箭头的绿色线是怎么画出来的吗?
【 在 dormouseBHU 的大作中提到: 】
: 这已经是很简单的方法了…
: 封装成个函数,用时就是一行代码。
--
修改:fishingriver FROM 124.64.17.*
FROM 124.64.17.*
7楼
|
fishingriver
|
2021-08-30 13:52:40
|
展开
画刷要求区域是封闭的,用画刷相当于两个边线,还有两个端点的边线得是知道的,相当麻烦
【 在 hgoldfish 的大作中提到: 】
: 用 QBrush 会不会更方便一点?
:
--
FROM 124.64.16.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版