Соединитесь с методом / функцией при закрытии QTextEdit в PyQt
Как я могу подключиться к функции при закрытии окна виджета QTextEdit?
Мой код:
self.textBox = QtGui.QTextEdit()
self.textBox.setWindowTitle('Editor')
self.textBox.setGeometry(100, 100, 1000, 500)
self.textBox.show()
self.textBox.???.connect(self.someFunc) #????
Если я сделаю
self.textBox.close().connect(self.someFunc)
Закрывается сразу и говорит
AttributeError: 'bool' object has no attribute 'connect'
Если я сделаю
self.textBox.closeEvent(self.someFunc)
Это говорит
TypeError: QTextEdit.closeEvent(self.someFunc): argument 1 has unexpected type 'method'
Как я могу решить это?
1 ответ
Решение
Это не самый элегантный способ, но он работает, другой способ - наследовать от QTextEdit и перезаписывать метод closeEvent, выдавая сигнал.
Использование:
self.textBox = QTextEdit()
self.textBox.setWindowTitle('Editor')
self.textBox.setGeometry(100, 100, 1000, 500)
self.textBox.show()
self.textBox.closeEvent = self.function
def function(self, e):
print("test")