• 6991阅读
  • 4回复

线程中发送信号的问题 [复制链接]

上一主题 下一主题
离线isml
 

只看楼主 正序阅读 楼主  发表于: 2010-09-07
— 本帖被 XChinux 执行加亮操作(2010-09-07) —
我定义了一个线程,在线程中发送了一个自定义的信号,当该信号的参数是QString时,主线程中能正常接收,但当参数是一个自定义的类(如TestObj)时,主线程中始终无法收到该信号。我附上了测试程序的示例代码,请大家帮我看看,谢谢了
附件: TestQt.zip (794 K) 下载次数:6
离线isml

只看该作者 4楼 发表于: 2010-09-08
再次对这位大哥的帮助表示感谢!
离线dbzhang800

只看该作者 3楼 发表于: 2010-09-07
引用第2楼isml于2010-09-07 13:43发表的  :
多谢指点。顺便问一下另外两个问题:
1、在这里Q_DECLARE_METATYPE()不是必须的吧?只要我不作为QVariant使用?
2、目前这种情况下不会抛出异常吗?我在哪里能看到程序控制台呢?目前我的开发环境是VS2008+QT插件
多谢了

1. 有兴趣可以看看 http://hi.baidu.com/cyclone/blog/item/01108bd40599b00fa18bb793.html
2. 这个只涉及链接器的选项,在工程属性中选择console子系统同时不链接qtmain.lib应该就行了。或许你对下面的感兴趣
http://hi.baidu.com/cyclone/blog/item/96624a90fb4ca081a977a4db.html
http://hi.baidu.com/cyclone/blog/item/730334a8820911bcca130c23.html
离线isml

只看该作者 2楼 发表于: 2010-09-07
多谢指点。顺便问一下另外两个问题:
1、在这里Q_DECLARE_METATYPE()不是必须的吧?只要我不作为QVariant使用?
2、目前这种情况下不会抛出异常吗?我在哪里能看到程序控制台呢?目前我的开发环境是VS2008+QT插件

多谢了
离线dbzhang800

只看该作者 1楼 发表于: 2010-09-07
看 manual 吧

int qRegisterMetaType ( const char * typeName )

而且如果你看过你的程序的控制台输出的话,应该也能得到提示
快速回复
限100 字节
 
上一个 下一个