首页| 论坛| 消息

标题:用信号和槽函数在不同界面间传递数据的问题
作者:nautiluslee
日期:2016-07-15 12:05
内容:

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


#1 [6gongzi 07-15 15:53]
信号和槽一般都是处理静态对象之间传递数据,“子界面在点击按钮之前是不存在的”这个界面如果是后来创建的,接收线程中过来的数据,可能会有问题
#2 回 6gongzi 的帖子 [nautiluslee 07-15 18:25]
6gongzi:信号和槽一般都是处理静态对象之间传递数据,“子界面在点击按钮之前是不存在的”这个界面如果是后来创建的,接收线程中过来的数据,可能会有问题 (2016-07-15 15:53) 
我也在怀疑是这个原因,那是不是如果子界面没打开,就不能接收任何信号?

回复 发表
主题 版块