繁体   English   中英

python none返回值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM