繁体   English   中英

用QPainter绘制的QML类型

[英]QML type to draw with QPainter

在QML文档中,我找到了一个自定义类型(从C ++定义)的示例,可以使用QPainter对其进行绘制:

标题:

#include <QtQuick/QQuickPaintedItem> 

class PieChart : public QQuickPaintedItem    
{
...

public:
    void paint(QPainter *painter);

...
};

资源:

void PieChart::paint(QPainter *painter)
{
    QPen pen(m_color, 2);
    painter->setPen(pen);
    painter->setRenderHints(QPainter::Antialiasing, true);
    painter->drawPie(boundingRect().adjusted(1, 1, -1, -1), 90 * 16, 290 * 16);
}

如何使用QPainter派生要在其上绘制的类型(例如,线条)? 谢谢!

您有多种异步绘制方法:

1)在某个点(甚至在单独的线程中)将您的内容绘制到QImage中,然后在QQuickPaintedItem::paint()中简单地绘制该图像。

2)使用QtQuick画布 请注意,这是使用JavaScript(不是C ++)绘制的,但实际上是QPainter命令。 Canvas支持各种渲染策略 ,其中包括在专用线程或渲染线程中进行绘制的其他策略

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM