我有一个非常简单的任务,这主要是由于QML和QT的C ++方面的分离导致绕圈走动。因此,除了询问具体的QT问题外,我还需要一般性建议以了解应使用哪些QT和QML函数来实现用例。
用例:
QQuickControls UI允许用户选择图像。该图像显示在UI中。当用户单击“处理”按钮时,应用程序将找到边缘。
我的问题是;如何覆盖当前显示的图像?我应该使用Q_INVOKABLE函数吗?还是信号或插槽?我下面的代码创建了UI,允许用户选择图像(并显示图像),并在单击“处理”按钮时生成边缘图像。它只是不显示新的边缘图像,因为我不知道如何在QT / QQuickControls2中实现。
任何有关如何在QT中实施此操作的建议将不胜感激。
答案 0 :(得分:1)
我们所拥有的:
最简单的解决方案是:
image
:Qt/QML : Send QImage From C++ to QML and Display The QImage On GUI 请注意,还有其他一些解决方案,可以使用QQuickFramebufferObject
和QQuickpainteditem
和QAbstractVideoSurface
进行更动态的渲染,当图像不是静态等时,值得付出努力。
P.S。我还建议您重命名该问题,只要它不是真正如何从QML执行C ++代码而是如何制作与QML兼容的图像并实际呈现它。