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