Код: Выделить всё
import sys
from PyQt5.QtWidgets import QWidget
class MyWidget(QWidget):
"""QWidget based class to configure a Simulator object."""
def __init__(self,parent : QWidget):
"""
Construct a new object.
param: parent : QWidget
Parent class
"""
super().__init__(parent)
print("Created GUI")
def __del__(self):
print("Deleting GUI")
if __name__ == '__main__':
from PyQt5.QtWidgets import QMainWindow, QApplication
import logging
class CustomFormatter(logging.Formatter):
def format(self, record):
formatter = logging.Formatter("%(message)s")
return formatter.format(record)
logger = logging.getLogger("my_logger")
logger.setLevel(logging.INFO)
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
#ch.setFormatter(CustomFormatter())
logger.addHandler(ch)
app = QApplication(sys.argv)
wnd = QMainWindow()
widget = MyWidget(wnd)
wnd.setCentralWidget( widget )
wnd.show()
sys.exit(app.exec())
Код: Выделить всё
Created GUI
Deleting GUI
Теперь выходные данные не отображаются. Удаление графического интерфейса >. Я попытался добавить сюда утверждение, код не утверждает. Почему MyWidget.__del__ не вызывается при использовании специального средства форматирования?
Подробнее здесь: https://stackoverflow.com/questions/793 ... ng-deleted
Мобильная версия