簡體   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