在使用Qt进行设计过程中,使用了若干QLineEdit控件进行文本输入,预想在完成编辑即editingFinished() 触发执行下一步,但在调试过程中发现完成编辑后无法触发editingFinished()信号,遂进行排查。
问题本身并不复杂应该不是代码问题,在优快云上查询后看到很多类似的问题:

有很多相关帖子,但是大部分无法触发editingFinished信号的帖子都是应为使用正则表达式相关,与我情况不同,便继续寻找相关帖子,发现下帖:

这个情况与自己十分类似,Qlinedit控件所有信号凭空无法触发,但是这贴也没给出具体原因。
在自己调试了一晚上后,通过删除重添加控件解决,原因分析如下:

找到mainwindow下相关槽函数触发处,进入自动生成槽函数的声明处,发现很多之前对同一个Lineedit起不同命时创建的槽函数的声明都还在! 怀疑我的电脑QT在重编译时没有对无效的槽函数和相关中间文件进行清除,导致新的槽函数也无法正常触发。
最终,将全部之前对同一控件使用其他名字是创建的槽函数相关的声明,分支等自动生成代码进行清理解决。