标题:【提问】大家看看这个QT程序为什么出错?
作者:naohu1010
日期:2005-12-27 10:00
内容:
在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));
}
编译时没有错误,但在运行时出现如下错误:
# QObject::connect: No such slot QTE2TEST::pushButtonNum(100)
QObject::connect:(sender name: 'pushButton2')
QObject::connect:(receiver name: 'QTE2TEST')
请问大家为什么会出错啊?
#1 [XChinux 12-27 10:52]
signal与slot的使用方法,要求类型是要符合的,你的
connect(pushButton2,SIGNAL(clicked()),this,SLOT(pushButtonNum(100)));
不符合要求。
在发送信号clicked()的时候,并没有参数发送出去,那么pushButtonNum(int Num)它无法获得这个Num参数。
建议你详细看看本版,查看一下“信号与槽"的帖子,signal和slot要类型对应。