【问题标题】:Manipulate QML Canvas from C++ in Qt5在 Qt5 中从 C++ 操作 QML Canvas
【发布时间】:2015-03-28 04:26:43
【问题描述】:

在我的 Qt5 应用程序中,我有一些 C++ 和一些 QML 协调工作(也就是来回发送信号)。

此时,我想实现一个小部件,以我的 QML 中显示的实际波形的形式显示正在播放的音频流的实时更新可视化。所以我想知道有哪些替代方法可以解决这个问题?什么是最简单的代码替代方案,哪个替代方案的性能最好?

我的幼稚想法是:

  • 在我的 QML 中创建一个画布,然后从 C++ 直接绘制到这个画布
  • 将实际样本作为缓冲区发送到 QML 并从 js 在画布中绘制它们
  • 将实际样本作为缓冲区发送到 QML 并以其他方式绘制它们
  • 编写一个自定义 C++ 小部件并以某种方式在 QML 中显示它

PS:我已经可以访问实际样本来生成可视化,但是如果您对此也有一个聪明的解决方案,那么我会非常高兴!

谢谢

【问题讨论】:

    标签: c++ audio qml qt5 visualization


    【解决方案1】:

    你可以继承QQuickItem。此外,还有一个子类 QQuickPaintedItem 允许您使用 QPainter 进行绘制。

    这里有一个example of QQuickPaintedItem 用法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多