首页| 论坛| 消息
主题:关于Qt中信号槽携带参数的数量
不识字发表于 2023-12-01 15:38
我在看《Qt5开发及实例》第四版一书中,在第九章的示例CH905中有一处代码为
connect(fileLineEdit,SIGNAL(returnPressed()),this,SLOT(slotShow(QDir)));
connect(fileListWidget,SIGNAL(itemDoubleClicked(QListWidgetItem*)),this,SLOT(slotDirShow(QListWidgetItem*)));两个槽函数的声明如下
public slots:
void slotShow(QDir dir);
void slotDirShow(QListWidgetItem *item);
第二个信号槽携带的参数类型数量一致,没有问题,但是第一个信号槽,信号无参数,槽有参数,代码运行却没有报错(Qt5.12.12),但是在fileLineEdit中按下回车键却没有反应。
我的问题是,信号槽连接时,如果信号携带的参数大于槽携带的参数(先不考虑参数类型),那么多的参数会被舍弃,信号槽能正常连接;
但如果信号携带的参数小于槽携带的参数呢?也会跟槽函数参数是否有默认值有关吗?
回帖(7):
7楼:connect不允许槽的参数多于信号的参数个数, 除非槽函数多于的参数有默认值
6楼:dbzhang800:要相信自己的判断,书上是错的 (2023-12-06 23:58) 
哈哈,好的,我最 ..
5楼:angelus:老式信号槽用字符串链接,编译不会检查的,只用在一些特殊的使用上 (2023-12-05 15 ..

全部回帖(7)»
最新回帖
收藏本帖
发新帖