【发布时间】:2017-07-25 17:08:23
【问题描述】:
有没有办法在 QML 中绘制半虚线圆?我是这样画半圈的
var Circle = getContext("2d");
Circle.save();
var CircleGradient =
Circle.createLinearGradient(parent.width/4,parent.height,parent.width/4,0);
CircleGradient.addColorStop(0, firstGradientPoint);
CircleGradient.addColorStop(1, secondGradientPoint);
Circle.clearRect(0, 0, parent.width, parent.height);
Circle.beginPath();
Circle.lineCap = "round";
Circle.lineWidth = 10;
Circle.strokeStyle = CircleGradient
Circle.arc(parent.width/2, parent.height/2, canvas.radius - (Circle.lineWidth / 2), Math.PI/2, canvas.Value);
Circle.stroke();
Circle.restore();
结果
但我怎样才能让它像这样虚线。
我需要
【问题讨论】:
-
请提供可以执行和测试的最小代码。
-
不幸的是,QML 画布实现没有实现
setLineDash()方法,即使它应该与 HTML 画布兼容......所以你要么需要绘制一系列中断的线作为答案建议,或者您可以选择使用QPainter的QQuickPaintedItem实现,它可以绘制虚线。
标签: qt html5-canvas qml