Advertisement

A Qt Quick-based application for drawing sketches

阅读量:

之前一直误认为 Qt Quick 中仅 Canvas 能够自绘图。后来才意识到这一观点并不正确,在实际应用中还存在多种不同的绘图方式可供选择。其中一种方式是直接利用原始的 OpenGL(Qt Quick 采用 OpenGL 进行渲染),另一种则是通过构造 QSGNode 实现图形绘制功能。此外还可以借助 QPainter 来完成绘图操作。Painter 是一种非常熟悉的技术工具,在本项目中我便运用了这一工具结合 QML 开发了一个简单的涂鸦组件:PaintedItem。该组件具有以下功能:

  • 设置线条宽度
  • 设置线条颜色
  • 设置背景颜色
  • 清除涂鸦
  • 无限级undo

程序很简陋,效果如下:

图1 PaintedItem效果图

程序虽然简单,但也还是有一些新内容之前没有提到:

  • EfficientDrawingItem
  • 开发QML可视化组件(Item)类型使用C++
  • 如何自定义图元处理鼠标事件?

下面咱们一个一个来说一下。

版权所有 foruok ,转载请注明出处:<> 。

QQuickPaintedItem

其核心架构为 Sce

全部评论 (0)

还没有任何评论哟~