关于Qt调用多/两次setupUi导致信号与槽自动连接失败问题

代码场景:

函数内部调用两次 setupUi在这里插入图片描述
okBtn自动连接槽函数失效
在这里插入图片描述

问题分析:

在 setupUi 函数内部调用了这么一个函数: connectSlotsByName
从函数名来看就是通过名字(部件名)连接信号与槽
在这里插入图片描述
官方文档的解释:
在这里插入图片描述
所以流程应该是这样的:
setupUi函数内部会new资源,调用两次就new了两次,牵扯到部件对象名重复,这时候有两个okBtn,连接方式是递归检索部件对象名,出现始终连接的第一个okBtn,所以第二个okBtn就没有连接上,导致没有效果(当然,直接使用connect函数可以正常连接,因为是通过内存找对应部件连接

猜你喜欢

转载自blog.csdn.net/TheKoi/article/details/129931171