信号用editingFinished()
。
self.lineEdit.editingFinished.connect(self.edit_finish)
这个函数会在被编辑后或者失去焦点(如选中其它控件或按下回车之类)后发出信号,这就导致一个问题即如果按下回车就会触发槽函数,失焦后会再次触发。而且即使控件中的文本未发生改变也会触发槽函数。如果想避免这种情况可以尝试使用isModified()
方法。举例来说,我们希望仅仅在输入框中的文本发生改变,且编辑完成(键入回车或者失去焦点)时打印输入框中的文本,那么:
def edit_finish(self):
if self.lineEdit.isModified():
print(self.lineEdit.text())
print("Editing Finished")
self.lineEdit.setModified(False)
本文仅做个人笔记所用,如有错误欢迎指正。