ユーザはLogger
をサブクラス化してlog()
仮想関数を上書きできるため、ユーザは独自のロガーを作成できます。QtのdeleteChildren()中に子が削除されないようにするには?
ログを表示するQListWidget Loggerを作成しました。残念ながら、それはロギングマネージャーが所有しており、QObjectであるためMainWindowの子でもあります。この結果、アプリケーション終了時に2つのオブジェクトが削除しようとします。
初めてQObjects->deleteChildren()
が呼び出され、それが削除されます。その後、Logginのgmanagerは再びクラッシュしようとします。
deleteChildren()
の間に特定のQObjectが破壊されないようにするにはどうすればよいですか?それは悪い考えですか?
私はそれがおそらく最良の賭けになると思うので、私は推薦#3を試しています。これはQSharedPointerへの私の最初の進出ですが、*指が交差しました*。 – shadowland