Logger
ユーザーが仮想関数をサブクラス化してオーバーライドできるようにするロギングインターフェイスがあるlog()
ので、ユーザーは独自のロガーを作成できます。登録されているすべてのロギングメソッド(コンソール、syslog、ウィジェットなど)を追跡するマネージャーがあります。
ログを表示するQListWidgetロガーを作成しました。残念ながら、これはロギングマネージャによって所有されており、QObjectであるため、MainWindowの子でもあります。これにより、2つのオブジェクトがアプリケーションのクローズ時にそれを削除しようとします。
初めてQObjects->deleteChildren()
呼び出され、削除されます。次に、Loggingmanagerが再試行してクラッシュします。
特定のQObjectが破壊されるのを防ぐにはどうすればよいdeleteChildren()
ですか?それは悪い考えですか?