• 3147阅读
  • 2回复

用信号和槽函数在不同界面间传递数据的问题 [复制链接]

上一主题 下一主题
离线nautiluslee
 

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

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

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

我也在怀疑是这个原因,那是不是如果子界面没打开,就不能接收任何信号?
快速回复
限100 字节
 
上一个 下一个