我的qml文件中有一个画布(http://doc.qt.io/qt-5/qml-qtquick-canvas.html)。
我在c ++中创建了一个“后端”类,并使用>>> [t.p_name for t in my_table.select().where(my_table.p_type=="Solar")]
['Solar, photovoltaic']
将其添加到main.cpp中,然后使用qmlRegisterType<Backend>("de.xxx.backend", 1, 0, "Backend");
将其添加到了main.qml中,并添加了它的实例。
现在,我想从我的C ++代码中绘制这张画布。我希望在类Backend中使用名称为“ draw()”的函数,并且在此函数中,我可以使用诸如drawRect()或类似函数。这可能吗?我该怎么办?
感谢您的提前帮助!
答案 0 :(得分:3)
使用C ++的QML Canvas
是我一段时间以来最糟糕的想法。
对于初学者-它一无所获。
第二-画布确实没有公共的C ++ API,而使用私有的API是一个非常糟糕的主意。
最后-如果您想从C ++进行大量绘图,只需实现QQuickPaintedItem
,这就是您使用C ++ QPainter
API绘制的QML元素。