[英]python none value return
class MyWindow():
class Filter(QtCore.QObject) :
def eventFilter(self, widget, event):
return event.type() == QtCore.QEvent.FocusOut
def __init__(self, ui) :
self.ui = ui
def mycode (self) :
myvalue = float(self.ui.myvalueEdit.text())
self._filter = self.Filter()
print (self.ui.myvalueEdit.installEventFilter(self._filter))
我正在尝试拦截focusEvent
,这focusEvent
让我知道它会发生变化。 在这段代码中,我试图读取eventFilter
的返回值,但我总是收到None
值!
方法installEventFilter不返回任何内容,这就是为什么获取None的原因。 您的eventFilter方法是一个回调,将在事件发生时调用。
假设eventFilter的返回值指示您是否已处理该事件。 也就是说,如果您不希望任何其他对象处理相关事件,则返回True。 这就是为什么您不能只返回True,它将消耗事件,您必须自己处理返回True的任何事件。
class MyWindow(QtCore.QObject):
def eventFilter(self, widget, event):
if event.type() == QtCore.QEvent.FocusOut or event.type() == QtCore.QEvent.FocusIn:
print("Focus Changed!")
print("Value I want to save is: " + widget.toPlainText())
# Put the code you want to do here!
return True
return False
def __init__(self, ui) :
self.ui = ui
def mycode (self) :
myvalue = float(self.ui.myvalueEdit.text())
self.ui.myvalueEdit.installEventFilter(self)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.