ユーザーがGTK +ウィジェット(描画領域に似ています)のどこかをクリックしてマウス座標を返すまで待つ関数を記述しようとしています。この関数は、入力が受信されるまで待機するという点でモーダルで動作する必要があります。 Windows APIをよく知っている人は、メニュー項目が選択されるまで待機するTrackPopupMenu
関数と類似しているかもしれません。GTK +アプリケーションのモーダルループ
私がここでやろうとしているのは、Windows APIを使用して「2次メッセージループ」を実行するのと同じです。それはGTK +でどうやって行なわれますか?
ジョブ終了後、gtk_mainを呼び出してgtk_main_quitを呼び出しても問題はありませんか?たとえば、クライアント領域内のポイントを選択するようにユーザーに促す関数を記述したいとします。私はbutton-press-eventのシグナルハンドラを設定し、gtk_mainを呼び出します。ハンドラでは、ポイントが選択されると、ポイントをどこかに保存し、gtk_main_quitを呼び出して、最も内側のgtk_mainを返します。これはお勧めですか? –