qlineedit的editingfinished和loseFocus信号
风声边界 2011-04-06 03:20:42 qlineedit的editingfinished信号,手册上说在按下return或者enter键、或者失去焦点是会发送该信息
一般情况下应该是将eiditingfinished信号同相关槽连接就ok了,在编辑完成或者失去焦点时都能响应
现在的情况是 我关联了qlineedit的editingfinished信号
在编辑完成时我会判断qlineedit的数据是否合法,不合法,重新输入,此时是弹出一QMessageBox
输入非法时,点击消息框ok,重新输入,现在是QMessageBox会弹出两次,一次是点击回车时editingfinished 信号,触发槽函数,然后是qlineedit 失去焦点又一次触发槽函数,
有没有办法使得在这种情况下槽函数触发一次
1、屏蔽loseFocus()信号肯定不行,在仅仅是失去焦点时我还要触发槽函数
2、不关联editingfinished信号也不行,要响应回车键
3、输入非法时还要提示用户 输入非法(消息框)
有点难搞