メールマガジン:PyGIを用いる上での基本的な部分について(メインループ,GObjectシグナル,ハンドラ)
この記事について
メールマガジンの系統は「GTK+開発など」です。
GTK+アプリケーションのメインループとGObjectシグナルおよびそのハンドラについてを扱っています。
メインループの基本的な扱いやGObjectシグナルの操作について理解できているのであれば、この記事を読む必要はありません。
メールマガジンの詳細については「『試験運用中なLinux備忘録メールマガジン』の発行について」を参照してください。
途中までの内容
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃PyGIを用いる上での基本的な部分について ┃ ┃(メインループ,GObjectシグナル,ハンドラ) ┃ ┃ Python,PyGI,PyGObject,Vala,GTK+┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ ━━━━━━━━━━━━━━━━━ プログラム全体の内部的な処理の流れ ━━━━━━━━━━━━━━━━━ GTK+はGUIの機能を提供するライブラリだが、一般的に、GUIアプリケーションの 処理の流れは「記述された順に処理を実行する」というものではなく * ユーザによるGUI部品への操作などの「イベント」が起こったときに 関連付けられた処理を呼び出す * プログラム内の流れは「ループ」しており、操作などによるイベントが 起こらない状態ではそのまま何もせずに動き続ける(イベントを待機) というものとなっており、このような流れはイベント駆動(event-driven)方式と 呼ばれる。 ────── メインループ ────── プログラム内の流れは待機状態で「ループ」する形となるが、この ループ(メインループという)は自動的に開始するものではなく、専用の関数を 呼び出すことで開始する。ループ構文で何かを処理したりすることはなく、 単純にこれ(1つの関数)を呼び出すだけでよい。 (以下略) ───────── (以下は見出しのみの紹介となります) ───────── ━━━━━━━━━━━━━━ イベントとハンドラの関連付け ━━━━━━━━━━━━━━ ────────── メンバ関数connect() ────────── ───────── GObjectシグナル名 ───────── ─────── ハンドラの引数 ───────