在这里插入图片描述
QObject::connect: No such signal
使用connect连接信号与槽函数时,附带了信号或者槽函数的参数。编译会通过,而运行不会通过。
若信号函数

void signal_1(int param);

槽函数

void function_1(int param);

而connect写成

connect(objectA,SIGNAL(signal_1(int param)),objectB,SLOT(function_1(int param)));

编译会通过,运行时会报错,并且无法触发槽函数

QObject::connect: No such signal
QObject::connect: No such slot

正确写法在connect中只有类型,没有参数

connect(objectA,SIGNAL(signal_1(int)),objectB,SLOT(function_1(int)));

QMetaObject::connectSlotsByName:No matching signal for
对于槽函数,如果写成了on_控件名_信号名的格式,会被qt认为是信号/槽的自动关联。如果再用connect函数显式的关联该函数,就会出现No matching signal for的错误。因此解决方法就是去掉“on_”前缀

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐