• 7369阅读
  • 1回复

【提问】大家看看这个QT程序为什么出错? [复制链接]

上一主题 下一主题
离线naohu1010
 

只看楼主 倒序阅读 楼主  发表于: 2005-12-27
在index.h中定义
public slots:
  void pushButtonNum(int num);
在index.cpp中连接信号与槽
connect(PushButton1,SIGNAL(clicked()),this,SLOT(close()));
  connect(pushButton2,SIGNAL(clicked()),this,SLOT(pushButtonNum(100)));

void QTE2TEST::pushButtonNum(int num)
{
//int num=100;
LineEdit1->setText(QString::number(num,10));
}
编译时没有错误,但在运行时出现如下错误:
[root@liu ts-test]# QObject::connect: No such slot QTE2TEST::pushButtonNum(100)
QObject::connect: (sender name:   'pushButton2')
QObject::connect: (receiver name: 'QTE2TEST')

请问大家为什么会出错啊?
[ 此贴被XChinux在2005-12-27 10:50重新编辑 ]
离线XChinux

只看该作者 1楼 发表于: 2005-12-27
signal与slot的使用方法,要求类型是要符合的,你的
  connect(pushButton2,SIGNAL(clicked()),this,SLOT(pushButtonNum(100)));
不符合要求。
在发送信号clicked()的时候,并没有参数发送出去,那么pushButtonNum(int Num)它无法获得这个Num参数。

建议你详细看看本版,查看一下“信号与槽"的帖子,signal和slot要类型对应。
[ 此贴被XChinux在2005-12-27 11:13重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个