Qt 信号槽如何传递参数(或带参数的信号槽)
2015-03-05 11:33
369 查看
信号槽如何传递参数(或带参数的信号槽)利用Qt进行程序开发时,有时需要信号槽来完成参数传递。带参数的信号槽在使用时,有几点需要注意的地方,下面结合实例进行介绍。第一点:当信号与槽函数的参数数量相同时,它们参数类型要完全一致。
signals:
void emitdata(int);
private slots:
void getdata(int); // 具体实现 qDebug() << "int : " << a << agr << endl;
然后进行链接 connect(this,SIGNAL(emitdata(int)),this,SLOT(getdata(int))); 发送信号: emit emitdata(5) ; 我们 将会收到 5 这个数字;; 第二点:当信号的参数与槽函数的参数数量不同时,。 1、 当我们的槽参数数量多于信号数量时 将会出现 QObject::connect: Incompatible sender/receiver arguments 这个错误; 2、 只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应一致,信号中多余的参数会被忽略 ; 我们只能接受第一个参数;
signals:
void emitdata(int,int);
private slots:
void getdata(int); // 具体实现 qDebug() << "int : " << a << agr << endl;
然后进行链接 connect(this,SIGNAL(emitdata(int,int)),this,SLOT(getdata(int))); 发送信号: emit emitdata(5,10) ; 我们 只能会收到 5 这个数字;;
相关文章推荐
- QT信号槽传递参数技巧
- Qt信号与槽的参数传递原理
- QT信号槽传递参数技巧
- Qt多线程间信号槽传递非QObject类型对象的参数
- 信号槽如何传递参数
- Qt学习:线程间共享数据(使用信号槽传递数据,必须提前使用qRegisterMetaType来注册参数的类型)
- QT 子窗口如何向父窗口发带参数信号
- Qt中带有参数的信号传递出错--自定义类型的参数
- QT信号和槽参数传递复杂结构的数据
- 《OpenCV》Part11 OpenCV3.1.0 Qt中的信号槽函数传递cv::Mat格式参数
- Qt:信号槽机制传递复杂类型参数(窗口通信)
- 信号槽如何传递参数(或带参数的信号槽)
- 信号槽如何传递参数(或带参数的信号槽)
- QT信号槽传递参数技巧
- Qt在信号中如何发送自定义结构体,或者发送多个自定义参数
- Qt 信号槽传递自定义结构体参数 详解
- qt的Qt::ConnectionType详细以及信号参数传递
- 信号槽传递非Qt库类型参数时,出现QObject::connect: Cannot queue arguments of type 'QUuid'(Make sure 'string' is regi
- QT信号和槽参数传递
- Qt多线程间信号槽传递非QObject类型对象的参数