QT中重复声明spinbox槽函数引发构建报错,如何正确删除多余槽
Qt 重复生成同名槽函数的永久解决方法
Qt Creator 右键控件「转到槽」重复触发后生成的重复绑定,会导致uic工具在编译阶段自动生成重复的槽函数声明到ui_xxx.h这类自动生成的文件中,仅注释业务代码中的槽函数实现无法解决问题,下次编译时自动生成的文件会被重新覆盖,正确删除操作步骤如下:
- 打开对应界面的.cpp实现文件,删除多余的重复槽函数实现代码(不要仅注释,直接删除)
- 打开对应界面的.h头文件,在
slots/private slots代码块中找到重复的槽函数声明,删除多余的声明条目 - 用Qt Creator打开对应界面的.ui文件,调出右侧「信号/槽编辑器」面板,找到spinBox控件绑定的重复
valueChanged信号槽条目,删除多余的绑定记录
注意:不要手动修改Qt自动生成的ui_xxx.h、moc_xxx.cpp等文件,这类文件每次编译都会被uic/moc工具重新生成,手动修改无效
操作完成后,先执行「清理项目」,再执行「qmake」,之后重新构建项目即可彻底解决该报错。
内容的提问来源于stack exchange,提问作者Smokey Van Den Berg
相关产品推荐
相关产品推荐

