查看完整版本: [-- 用信号和槽函数在不同界面间传递数据的问题 --]

QTCN开发网 -> Qt嵌入式开发 -> 用信号和槽函数在不同界面间传递数据的问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

nautiluslee 2016-07-15 12:05

用信号和槽函数在不同界面间传递数据的问题

我的程序有好几个界面,一开始就显示一个主界面,点击按钮后再通过ini配置文件加载别的界面(子界面在点击按钮之前是不存在的)。
然后在主界面构造函数中启动了一个线程用来接收数据,并在线程中将所有数据通过信号的方式发送出去(查了很多资料,个人认为信号是广播的,所以想在哪里接收就在那里connect一下槽函数好了,不知道理解是否正确)。
现在我在子界面中关联槽函数,想把信号发送过来的数据显示在子界面label上,但是编译不报错,运行时就“程序异常退出”,还有
QObject::connect: Cannot connect (null)::Send_Data(int,int) to events::display(int)信息。
这句话好像是说,发送信号的发送者是null?为什么会这样?

6gongzi 2016-07-15 15:53
信号和槽一般都是处理静态对象之间传递数据,“子界面在点击按钮之前是不存在的”这个界面如果是后来创建的,接收线程中过来的数据,可能会有问题

nautiluslee 2016-07-15 18:25
6gongzi:信号和槽一般都是处理静态对象之间传递数据,“子界面在点击按钮之前是不存在的”这个界面如果是后来创建的,接收线程中过来的数据,可能会有问题 (2016-07-15 15:53) 

我也在怀疑是这个原因,那是不是如果子界面没打开,就不能接收任何信号?


查看完整版本: [-- 用信号和槽函数在不同界面间传递数据的问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled