QLineEdit的editingFinished()信号在按下回车时会触发两次的解决办法

之所以会进两次槽函数,是因为响应enter键一次,以及焦点离开时又一次,
不过两次进入时状态是不一样的,一次焦点还在QLineEdit上,一次已经不在了。

解决方法有:
1 通过判断焦点是否还在QLineEdit上加以区分

当回车按下时
editingFinished()槽第一次响应enter键,此时焦点在QLineEdit上,响应完失去焦点
第二次响应焦点离开事件,此时焦点已经不在QLineEdit上
故通过
 

if(ui->PswLineEdit->hasFocus())
{    
    //do sth        
}


来判断是否失去焦点

From: https://blog.csdn.net/xiao123456bin/article/details/89371261

发布了1673 篇原创文章 · 获赞 361 · 访问量 235万+

猜你喜欢

转载自blog.csdn.net/tony2278/article/details/104610802