zoukankan      html  css  js  c++  java
  • 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好强大。。。



  • 相关阅读:
    Android 禁用以及捕捉home键
    android中正确导入第三方jar包
    使用SharedPreferences进行数据存储
    tomcat不安全因素
    spring边边角角
    宏定义
    C++变量对比java变量所占内存
    结构指针的分析
    对结构使用指针
    什么是程序文件?
  • 原文地址:https://www.cnblogs.com/wxmwanggood/p/9138415.html
Copyright © 2011-2022 走看看