• 3750阅读
  • 1回复

[提问]关于次线程信号与主线程槽的通信问题,请教! [复制链接]

上一主题 下一主题
离线sleevefish
 

只看楼主 倒序阅读 楼主  发表于: 2015-07-01
环境:
Qt creator 3.2.1
Qt 5.3.2
windows 7 64bit

问题
从次线程发射信号 sig(QVector<double>),主线程中的槽rec(QVector<double>) 无响应,错误提示为:

QObject::connect: Cannot queue arguments of type 'QVector<double>'
(Make sure 'QVector<double>' is registered using qRegisterMetaType().)

(如果次线程中的信号信号改为sig(),主线程中的槽rec() 能正常收到信号,即信号和槽无参数可正常运行,而有参数QVector<double>无法正常运行。)


网上有如下解决方法,
typedef QVector<double> myVector;
qRegisterMetaType<myVector>("myVector");

但是按照此种办法,有如下错误提示:
error: specializing member '::qRegisterMetaType<myVector>' requires 'template<>' syntax
qRegisterMetaType<myVector>("myVector");

网上无法找到更进一步的解决方案。

请各位大神不吝赐教!

谢谢!
^




离线z55716368

只看该作者 1楼 发表于: 2015-07-02
留个脚印
每一个问题 都是一次进步
快速回复
限100 字节
 
上一个 下一个