在Qt中线程间connect收不到signal的问题。
来源:互联网 发布:sql 加列 编辑:程序博客网 时间:2024/05/01 08:06
例如使用QObject::connect( video_frame_process, SIGNAL(ImageReady(cv::Mat )),this, SLOT(ShowImage(cv::Mat)));
编译没问题,但运行的时候发现收不到ImageReady的signal,没有触发ShowImage,查看debug的output会看到
Make sure 'cv::Mat' is registered using qRegisterMetaType()
修改的做法参考:
http://stackoverflow.com/questions/9646110/how-to-send-a-qt-signal-containing-a-cvmat
“You need to call qRegisterMetaType in addition to the macro (or instead of it, depending on your needs). This is necessary for the signals to be able to marshal your data across threads. However, it might be a wiser idea to pass by reference or smart pointer, or raw pointer if you are using the QObject hierarchy to manage the object lifetime.”
也就是说要么注册cv::Mat 类型,要么使用已经可以识别的类型,如可以改成使用指针传递参数:
QObject::connect( video_frame_process, SIGNAL(ImageReady(cv::Mat *)),this, SLOT(ShowImage(cv::Mat *)));
- 在Qt中线程间connect收不到signal的问题。
- [Qt]Qt的Connect中调用重载signal的问题
- 关于qt 下 默认connect 中的SIGNAL(clicked())的问题
- Qt的线程和 signal-slot
- QT 的 connect signal slot 注意一下这个
- Qt入门-connect, SIGNAL, SLOT
- Qt入门之connect, SIGNAL, SLOT
- 【QT‘】 Object::connect: No such signal
- QT中关线程的问题
- Qt中连接到同一signal的多个slots的执行顺序问题
- servlet在tomcat中启动后访问不到的问题
- 关于在Response Header中取不到的问题
- 测试 QT 不同线程间signal-slot机制的值传递
- spring线程池在新的线程中获取不到注入的实例
- QT在子线程中使用QAxWidget需要初始化COM的问题
- Qt中Signal与Slot参数问题<一>
- 关于Qt执行时Object::connect: No such signal QComboBox::activated()的错误
- 深入理解QT的SIGNAL\SLOT机制(三):QObject::connect函数
- cvLoadImage后释放内存
- CSS 将多余的文字转化为省略号
- 30个非常流行的提示信息插件(jQuery Tooltip Plugin)
- Eval()和DataBinder Eval(Container DataItem,)的区别及用法
- 【Unity插件】NGUI核心组件之UICamera
- 在Qt中线程间connect收不到signal的问题。
- CSS 每段缩进,段落开头前面空两格
- git问题
- 相对 绝对定位
- CSS 父DIV容器自动撑开
- jQuery跟随浏览器滚动条浮动层效果
- UBB代码
- jquery ui
- 3人3天喝3桶水,9人9天喝了多少桶水?