【问题标题】:draw canvas from c++-code从 C++ 代码绘制画布
【发布时间】:2018-06-26 19:06:48
【问题描述】:

我的 qml 文件中有一个画布 (http://doc.qt.io/qt-5/qml-qtquick-canvas.html)。
我在 c++ 中创建了一个“Backend”类,并在 main.cpp 中添加了 qmlRegisterType<Backend>("de.xxx.backend", 1, 0, "Backend");,然后我在 main.qml 中使用 import de.xxx.backend 1.0 导入了这个类,并添加了它的一个实例。

现在我想用我的 c++ 代码在这个画布上绘图。我想在我的类后端中有一个名为“draw()”的函数,在这个函数中我可以使用 drawRect() 或类似的函数。这可能吗?我该怎么做?

提前感谢您的帮助!

【问题讨论】:

    标签: c++ qt qml


    【解决方案1】:

    从 C++ 借鉴 QML Canvas 是我一段时间以来听到的最糟糕的想法。

    对于初学者 - 它对你没有任何好处。

    第二 - 画布确实没有公共的 C++ API,使用私有的 API 是一个非常糟糕的主意。

    最后 - 如果您非常喜欢从 C++ 中绘图,只需实现一个 QQuickPaintedItem,它是您使用 C++ QPainter API 绘制的 QML 元素。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-21
      • 2013-04-26
      • 1970-01-01
      • 1970-01-01
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      相关资源
      最近更新 更多