Соединитесь с методом / функцией при закрытии 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")
Другие вопросы по тегам