qml 与C++交互

最近一直在研究qml 怎么与C++交互,今天在网上看到一段代码忽然想明白了,哦!!!我在QT还只是一个小白,嘿嘿

首先在我们定义了CPP文件起名:比如:util.cpp,baidumusic.cpp

然后,在main.cpp中注册:

   qmlRegisterType<BaiduMusic>("CleanPlayerCore",1,0,"BaiduMusic");

qmlRegisterType<Util>("CleanPlayerCore",1,0,"Util");

别忘了引入头文件
#include "baidumusic.h"
#include "util.h"
然后我们去main.qml中引入下面的库
import CleanPlayerCore 1.0

在qml文件中就可以直接使用了
   //工具函数
    Util {
        id:util
    }
 
 
    //百度音乐Api
    BaiduMusic {
        id: baiduMusic
    }
是不是很简单。。。可是,却让我想了好几天。。。其实,网上有很多资料,可有的时候就是资料太多了。。关键雷同的更多。。。反而找不到自己想要的。。。
这中方法应该是C++作为对象导入到qml里,个人觉得好像没有wpf,画面与逻辑分开的那么明显。也许是我还没有搞明白。不喜勿喷
2)在BaiduMusic中定义了信号:
   void getSongLinkComplete(QString songLink);
 
 
   void getLyricComplete(QString url,QString lyricContent);
然后在其他的qml中调用:
Connections{
target: baiduMusic
onGetSongLinkComplete:{
//to do something
}
onGetLyricComplete:{
//to do something
}
}
QT好强大。。。



转载于:https://www.cnblogs.com/wxmwanggood/p/9138415.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值