最近在软件定制过程中,碰到一个需求,在lineEdit输入完成后,客户希望自动跳转到下一个对话框,在常规的槽函数用,通常我们可以用tab或者回车进行操作,将焦点直接设置到下一个输入框就可以,但却无法实现自动跳转,比如下图所示,是可以直接跳转的,
为了实现上面的需求,无意中发现可以textChange()方法过渡,也就是说每次输入框内容发生变化时,调用函数,只要达到输入完成的条件,就可以直接跳转到下一个输入框。比如我这次需求,输入框限定输入0-9十个数字,所以可以直接定义槽函数如下即可:
self.lineEdit.textChanged.connect(self.lineEdit_1.setFocus)
如果需要其他的输入条件,比如输入4位的数字,重新定义函数即可,比如
def fun(self):
if len(self.lineEdite.text()) ==4:
self.lineEdit.textChanged.connect(self.lineEdit_1.setFocus)
如果是其他的条件,也可以用正则表达式re模块进行限定,都是可以的。