これが私のシナリオです。dllがあります(バックエンドにQtがあり、イベントループが開始されていません)。このdllでシグナルスロット通信を実行できます(スレッドは1つだけです)。このdllでQFileSystemWatcherの機能を使用したいと思います。しかし、QFileSystemWatcherは独自のスレッドを開始し、イベントプロセスがないため、メインスレッドと通信できないようです。
したがって、基本的に、ブロックされずにイベント処理を開始する方法が必要です。
したがって、基本的に、ブロックされずにイベント処理を開始する方法が必要です。
したがって、基本的には、コメントディスカッションに基づいてQEventLoop
使用せずに機能を使用する必要がありますQEventLoop
。QEventLoop
実際にイベントループを持つために、本質的に、「ブロッキング」する必要があります。
イベントループを内部に持つ「ブロッキング」スレッドをいつでも作成できますが、その場合、シグナルスロット管理はその特定のスレッドに関連付けられる可能性があります。
これはイベントループを使用する通常の方法ではありませんが、具体的なシナリオによっては、この特殊なケースでは十分な場合があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加