[英]Change QQuickImage source from within Q_INVOKABLE function or slot
我有一个非常简单的任务,主要是因为QML和QT的QML和C ++分离,所以绕了圈。 因此,除了询问特定的QT问题外,我还需要一般性建议以了解应使用哪些QT和QML函数来实现用例。
用例:
QQuickControls UI允许用户选择图像。 该图像显示在UI中。 当用户单击“处理”按钮时,应用程序将找到边。
我的问题是; 如何覆盖当前显示的图像? 我应该使用Q_INVOKABLE函数吗? 还是信号或插槽? 我下面的代码创建了UI,允许用户选择图像(并显示图像),并在单击“处理”按钮时生成边缘图像。 它只是不显示新的边缘图像,因为我不知道如何在QT / QQuickControls2中实现这一点。
任何有关如何在QT中实施此操作的建议将不胜感激。
我们有什么:
最简单的解决方案是:
image
: Qt / QML:将QImage从C ++发送到QML并在GUI上显示QImage 请注意,还有其他一些解决方案,可以使用QQuickFramebufferObject
和QQuickpainteditem
和QAbstractVideoSurface
进行更动态的渲染, QQuickFramebufferObject
解决方案在图像非静态等情况下值得努力。
PS我也建议您重命名该问题,只要它不是真正如何从QML执行C ++代码,而是如何制作与QML兼容的图像并实际呈现它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.