• 5914阅读
  • 7回复

[提问]qt4 两个窗口之间信号与槽怎样连接? [复制链接]

上一主题 下一主题
离线kongfuziyue
 
只看楼主 倒序阅读 楼主  发表于: 2011-06-16
比如在类 Seta中有信号:sendset(char); 在Mainwidget有槽函数:send(char),用来发送数据。目的:当Seta有数据要发送时候能通过Mainwidget的send(char)发送出去。
我在Mainwidget中加了Seta类对象成员:seta,然后在构造中写: connect(seta,SIGNAL(sendset(char)),this,SLOT(send(char)));
但运行时提示:
Object::connect: No such signal Seta::send(unsigned char) in ../mytunnel/mainwidget.cpp:40
Object::connect:  (sender name:   'Seta')
Object::connect:  (receiver name: 'mainwidget')

原来用qt2就是这么写的,不知道4怎样写?
离线guuyan

只看该作者 1楼 发表于: 2011-06-16
按你的逻辑写了测试,出现这个提示,应该是你信号没定义,不过如果没定义sendset(char)信号的话,你Seta类 里面emit sendset("*")发射信号居然会没报错?


离线zhy282289
只看该作者 2楼 发表于: 2011-06-16
从你给的信息看,你真的正确写了信号吗,信号参数?加了singals:?
为什么我脸这么胖~
离线jdwx

只看该作者 3楼 发表于: 2011-06-16
还是把相关内容都发上来吧
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线kongfuziyue
只看该作者 4楼 发表于: 2011-06-17
回 1楼(guuyan) 的帖子
定义了,
Seta.h里面:
public signals :
  sendset(char);
Mainwidget.h里:
public  slot:
send(char);

不相关的代码太多了,我就不全发了。
离线kongfuziyue
只看该作者 5楼 发表于: 2011-06-17
回 2楼(zhy282289) 的帖子
Seta.h里面:
public signals :
  sendset(char);
Mainwidget.h里:
public  slot:
send(char);

不相关的代码太多了,我就不全发了。


大家能举个你们平时怎样联系两个窗体的例子吗?
离线jdwx

只看该作者 6楼 发表于: 2011-06-17
写了一个简单例子。
附件: ww.rar (4 K) 下载次数:15
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线guuyan

只看该作者 7楼 发表于: 2011-06-17
public signals :
  void sendset(char);
public  slot:
void send(char);
都没有返回值类型
看看楼上代码就明白了
快速回复
限100 字节
 
上一个 下一个