在Enter上取消/忽略valueChanged

时间:2018-03-24 00:45:04

标签: python pyqt pyqt5

当按下回车键时,如何在旋转框中取消/阻止或忽略valueChanged()事件?

在一个组中有多个双旋转框,在更改一个旋转框时会更新。

[spin1] [spin2]

spin1发出valueChanged()事件时,我会更新spin2的值,反之亦然。但是:如果按下Enter键,则不应更新该值。

E.g。 spin1 中的用户类型 250 ,按Tab键以使 spin2 获得焦点。然后按Enter键。现在 spin1 不应该更新(因为 spin2 的值没有改变)。

连接为:

self.spin1.valueChanged.connect(self.update_values)
self.spin2.valueChanged.connect(self.update_values)

1 个答案:

答案 0 :(得分:0)

一个选项是获取旋转框的lineEdit对象并检查isModified()

它不会阻止信号,但它至少是一种过滤掉事件的方法,可以在update_values中应用。