1. ホーム
  2. c++

[解決済み] Qtのイベントループとは何ですか?

2022-02-19 16:58:36

質問

QApplication'sについて、以下のように理解しています。 exec という関数があります。

QApplication execはメインイベントループを開始します。 それはGUIを起動する。シグナルを処理し、シグナルを受信すると適切なスロットを呼び出す。exitが呼ばれるまで待ち、exitで設定された値を返す。

さて、イベントループというのは、Qtの内部コードに何らかのwhileループが走っていて、その中にシグナルやスロットを処理するメソッドが書かれているということでしょうか。

どのように解決するのですか?

<ブロッククオート

さて、イベントループと言うのは、何らかのwhileループが存在するということでしょうか? Qtの内部コードでループが実行されており、そのループの中で シグナルやスロットを処理する方法が書かれているのでしょうか?

ある意味、そうですね。最近のほとんどのソフトウェアは、ユーザーの入力、ネットワークトラフィック、タイマーイベント、センサーなどのイベントをじっと待っています。-- そして、それに応じて応答するのです。

これはQtに限ったことではありません。WindowsからAndroid、Arduinoまで、あらゆるところで見かける一般的なデザインパターンです。