先找到官方实例
将官方实例的QML文件全部搞到自己的资源中
.pro中加入这个
DISTFILES += \ (刚刚的QML文件路径)
qml/*
还有这个:
QT += core gui quickwidgets
QT += qml
将官方的datasource.cpp 和 .h加入到自己的工程,注意这两个文件都是基于QQuickView的,需要修改
将这两个文件的QQuickview都改为QQuickWidgt
修改完毕后就可以正式跑窗口了:
先随便加入一个QQuickWidgt,
这个窗口的显示是基于QML引擎的,设置这个窗口的源QML,
然后再MAINWINDOW的构造函数中初始化这个QML引擎,注意dataSource定义要到先到结构体声明,这里我之前和官方一样有BUG(见注释那一条语句,DataSource dataSource在构造函数之后就被释放了,导致数据源结构体没了,数据不能更新,(这是因为QML引擎调用不到dataSource里面的那个成员函数update了。然后开始跑就有效果了。
QT 改编官方example QQuickView实现QQuickWidgt示波器
于 2023-06-04 21:01:51 首次发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)