gpt4 book ai didi

c++ - 从 Q_INVOKABLE 函数或插槽中更改 QQuickImage 源

转载 作者:行者123 更新时间:2023-11-28 04:30:59 24 4
gpt4 key购买 nike

我有一个非常简单的任务导致绕圈子,主要是因为 QML 和 QT 的 C++ 端的分离。因此,我不需要询问具体的 QT 问题,而是需要关于应该使用哪些 QT 和 QML 函数来实现我的用例的一般性建议。

用例:

QQuickControls UI 允许用户选择图像。该图像显示在 UI 中。当用户单击“处理”按钮时,应用程序会找到边。

我的问题是;如何覆盖当前显示的图像?我应该使用 Q_INVOKABLE 函数吗?还是信号或槽?我下面的代码创建了用户界面,允许用户选择图像(并显示它),在单击“处理”按钮时生成边缘图像。它只是不显示新的边缘图像,因为我不知道如何在 QT/QQuickControls2 中实现这一点。

如有任何关于如何在 QT 中实现这一点的建议,我们将不胜感激。

最佳答案

我们有什么:

  • 带有图像占位符和触发新图像按钮的 QML UI。
  • 用于从 OpenCV Mat 生成新图像的 C++ ImageProcessor QML 类型。

最简单的解决方案是:

请注意,当图像不是静态时,使用QQuickFramebufferObjectQQuickpainteditemQAbstractVideoSurface 有更多的动态渲染解决方案值得努力等等

附言我还建议您重命名问题,只要它不是真正关于如何从 QML 执行 C++ 代码而是如何制作与 QML 兼容的图像并实际渲染它。

关于c++ - 从 Q_INVOKABLE 函数或插槽中更改 QQuickImage 源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52915572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com