我有一个日志接口,允许用户继承 aLogger
并覆盖log()
虚函数,以便用户可以创建自己的记录器。有一个管理器跟踪所有已注册的日志记录方法(即控制台、系统日志、小部件等)
我创建了一个显示日志的 QListWidget Logger。不幸的是,它归日志管理器所有,因为它是一个 QObject,它也是 MainWindow 的子窗口。这导致两个对象试图在应用程序关闭时将其删除。
第一次QObjects->deleteChildren()
被调用并删除它。然后 Loggin gmanager 再次尝试并崩溃。
如何防止特定的 QObject 在 期间被破坏deleteChildren()
?这是个坏主意吗?