現在Qt 以外のアプリケーションでQt クラスを再利用したいので、Qtをライブラリとして使用しようとしています。すべてが非 GUI です。
一部の問題はDirectConnectionで簡単に回避できます。一部の問題はプライベート イベント ループで解決できます。スレッドで偽のQCoreApplicationを実行して動作させることもできます (最後の手段)。
どのモジュールがQCoreApplicationの実行中のインスタンスに依存しており、それなしでは機能しないかを知りたいです。
一部の Qt モジュール ( QtCore内)を正しく実行するには、 QCoreApplicationのインスタンスが必要です。たとえば、QTimerはQCoreApplicationに依存してタイマー イベントをディスパッチします。私はQtConcurrentRunのドキュメントを読んでいましたが、 QThreadPoolのグローバル インスタンスに依存しているようです。アプリケーションの実行が重要かどうか、または最初のアクセスでインスタンスが作成されるかどうかを確認しようとしています。
QCoreApplicationPrivateソース (今のところ Windows と Linux)を研究するつもりですが、正しい方向へのヒントは大歓迎です。
コア アプリケーションに対する他の機能の依存関係は何ですか? OSによって異なる場合がありますのでご注意ください。
Edit1: Kuba の回答のおかげで、QCoreApplicationイベント ループは、タイマーとソケット イベントをディスパッチする必要がないようです。そのため、一部のQtCoreモジュールではQCoreApplicationのインスタンスが必要ですが、アプリケーション イベント ループを実行する必要はありません。