qt c++发信号给qml

网上的感觉没一个靠谱的,所以我们自己要靠谱一点。

首先C++你要有个信号,例如头文件中:

signals:
    void sigSendStrings(const QStringList &strs);
protected:

然后c++把自己绑定到qml中:

quickwidget->rootContext()->setContextProperty("view", this);

最后在qml中监听c++信号即可:

Connections{
        target: view
        function onSigSendStrings(str){
            console.log("recv signal!")
            console.log("str:",str)
 
        }
    }

注意写法,on在最前面,其他强制驼峰命名,这样就内定为signal了。

注意,setContextProperty要在setSource之前,否则报很多警告

本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2024 labisart.com 版权所有 | 联系:labartwork@163.com