因为需求所致,想在QML上画虚线,发现QML完全没有用武之地,Canvas都没有这个方法,查阅了HTML的原生Canvas中是有一个setLineDash()可以画虚线的,但是qml中的Canvas是没有继承这个方法的,可能鄙人水平有限,所以只能自己通过C++QPenter来画了,同时页说明了qml如何与QPenter来结合使用。
首先我是继承了QQuickPaintedItem这个类,通过这个类只要实现Paint这个虚函数就可以了,code如下:
TestLine.h:
TestLine.cpp:
主要展示下paint的实现,基本实现该函数就完全没有问题
<
本文介绍如何在QML中通过继承QQuickPaintedItem并重写paint函数来实现虚线的绘制。详细步骤包括在C++中定义TestLine类,实现在QPainter中画虚线的方法,然后在QML中注册并使用该组件。通过提供的代码示例和效果图,可以清晰地了解虚线绘制的完整流程。
订阅专栏 解锁全文
777

被折叠的 条评论
为什么被折叠?



