标题:QT回调函数
作者:tanyue.esec
日期:2020-07-20 19:53
内容:
有一个相机,需要回调函数来存储和显示图片。
我现在用lambda表达式实现的回调函数,但是回调函数中获取不到窗口的对象了,怎么才能获取ui对象,乃至于获取对象上的QLabel对象呢。
新新手,好多概念还不是台理解,C++也不是很熟悉,此前一直在搞java后台和前端的开发。。。
#1 [gnibuoz 07-20 21:19]
Lambda表达式需要指定捕获方式,如果你的回调函数是在成员函数里边定义的,那么直接在捕获列表里边写个&,然后界面就可以直接使用ui以及界面控件了
#2 [dbzhang800 07-20 21:19]
你的相机SDK
注册回调时,能不能传入用户自定义数据
#3 回 gnibuoz 的帖子 [tanyue.esec 07-21 09:18]
gnibuoz:Lambda表达式需要指定捕获方式,如果你的回调函数是在成员函数里边定义的,那么直接在捕获列表里边写个&,然后界面就可以直接使用ui以及界面控件了 (2020-07-20 21:19)
我试了下不行,注册的回调函数限制住了。
我感觉应该重新换个思路试试
#4 回 dbzhang800 的帖子 [tanyue.esec 07-21 09:20]
dbzhang800:你的相机SDK
注册回调时,能不能传入用户自定义数据 (2020-07-20 21:19)
有一个void*的参数,貌似是个函数指针呢,是不是可以用来做点文章
#5 [青空飞羽 07-22 21:08]
如果ui变量是私有的话,你在窗口类中定义一个公有方法用于返回ui对象指针,然后lambda表达式捕获窗口对象指针,调用成员方法获取ui对象指针,就可以操作ui了;或者直接将ui变量定义公有的,lambda表达式捕获了窗口对象指针后也可以直接操作ui对象指针了