3.3 Qml和cpp之间是怎么交互的?
这里要特别感谢qt官方的视频教程,链接如下:
https://app.ma.scrmtech.com/mee
tings-api/sapIndex/SapSourceData?pf_uid=23816_1987&sid=58001&source=2&pf_type=3&channel_id=25666&channel_name=Qt%2BWeChat&tag_id=e2d25d1ec8b84c22&appid=wxd90794c560648dff
Cpp调用qml里的函数:
Qml中的方法都可以当一个槽来使用,cpp中可以通过connect函数来触发qml里的方法
qml调用cpp里的函数:
1. 通过setContextProperty可以把cpp中的QObject指针暴露给qml,qml就可以直接调用了
2. 通过qmlRegisterType可以把cpp中的类注册到qml,qml再结合信号和槽就可以直接调用了
一句话总结:Qml和cpp之间交互通过QtMeta-Object system进行交互的,其中有很多方法,但是常用的还是信号和槽的方式交互。
我们找到linux_UVC library一个库,在这个基础上修改来增加我们的需求:
所有代码的github地址放在如下位置:
最后放一个拍的照片的效果: