【发布时间】:2014-05-04 08:58:32
【问题描述】:
帮助我了解事件的运作方式。
但我还有另一个问题。在我想调用主类的函数的事件之后,它似乎是从 Filter 类开始的,不幸的是我无法从 Designer-made 文件中获取内容。
class Filter(QtCore.QObject):
def eventFilter(self, widget, event):
if event.type() == QtCore.QEvent.FocusOut:
print 'focus out'
print widget.objectName()
if widget.objectName() == 'edit_notes':
StartQT4().object_edit_notes('edit_notes')
return False
else:
return False
class StartQT4(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self._filter = Filter()
self.ui.edit_notes.installEventFilter(self._filter)
def object_edit_notes(self, w):
self.__init__()
something = self.ui.edit_notes.toPlainText()
something = unicode(something).encode('utf-8')
print something
return False
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = StartQT4()
myapp.show()
sys.exit(app.exec_())
属性.something 不打印任何内容。我尝试使用信号方法button clicked() 调用相同的函数,它工作正常。
你能帮我解决这个问题吗?
【问题讨论】: