我想用QML开发一个桌面应用程序。该应用程序提供了一些绘制功能,例如绘制线,矩形,椭圆形等。我发现有两种实现方法:
QQuickPaintedItem
继承并重新实现void Quick::paint(QPainter *painter)
。Canvas.onPaint
中绘制形状。 但是我发现这两种实现都没有QWidget::paintEvent()
快。 Qt Quick Scene Graph文档中说QQuickPaintedItem
渲染是一个两步操作,直接使用场景图API 总是非常快。那么如何使用场景图API
实施那个?或者我应该使用QWidget
,而不要使用QML
。这是Sample code and performance effect。