У меня есть интерфейс ведения журнала, который позволяет пользователю создавать подкласс Logger
и переопределять виртуальную функцию log()
, чтобы пользователи могли создавать свои собственные регистраторы. Существует менеджер, который отслеживает все зарегистрированные методы ведения журнала (т. Е. Консоль, системный журнал, виджет и т. Д.)
Я создал регистратор QListWidget, который показывает журналы. К сожалению, он принадлежит менеджеру журналов и, поскольку это QObject, он также является потомком MainWindow. Это приводит к тому, что два объекта пытаются удалить его после закрытия приложения.
При первом вызове QObjects->deleteChildren()
вызывается и удаляется. Затем gmanager Loggin пытается снова и CRASH.
Как я могу предотвратить уничтожение определенного объекта QObject во время deleteChildren()
? Это плохая идея?