因为需求所致,想在QML上画虚线,发现QML完全没有用武之地,Canvas都没有这个方法,查阅了HTML的原生Canvas中是有一个setLineDash()可以画虚线的,但是qml中的Canvas是没有继承这个方法的,可能鄙人水平有限,所以只能自己通过C++QPenter来画了,同时页说明了qml如何与QPenter来结合使用。
首先我是继承了QQuickPaintedItem这个类,通过这个类只要实现Paint这个虚函数就可以了,code如下:
TestLine.h:
TestLine.cpp:
主要展示下paint的实现,基本实现该函数就完全没有问题