- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:GTK+のHelloWorldは)
GTK+のHelloWorld: コールバック関数の形について
このQ&Aのポイント
- GTK+のHelloWorldにおけるコールバック関数の形について質問です。
- g_signal_connectの引数のコールバック関数において、delete_eventはgboolean FUNC(GtkWidget*,GdkEvent*,gpointer)の形をしているのに、helloとdestroyはvoid FUNC(GtkWidget*,gpointer)の形をしています。これらのコールバック関数の形を勝手に決めていいものでしょうか?
- GTK+のHelloWorldにおいて、コールバック関数の形の決め方について質問です。delete_eventはgboolean FUNC(GtkWidget*,GdkEvent*,gpointer)の形であり、helloとdestroyはvoid FUNC(GtkWidget*,gpointer)の形をしていますが、これらの形式はどのように決まるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja-2.html 2.3 シグナルとコールバックの仕組み いろいろある。
その他の回答 (1)
- mcWalker
- ベストアンサー率69% (27/39)
回答No.2
gtk+ はソース・コードが公開されています。 ダウンロードして、眺めた方が早いかと思います。
質問者
お礼
ありがとうございます
お礼
イベントごとにコールバックの形が違っているのですね? どのイベントがどんなコールバック形をしているのかという表みたいなものは無いのでしょうか?
補足
ありがとうございます コンパイラはコールバックの関数形を勝手に決めてしまうと認識できないのでコールバックの関数形は何らかの規則で決まっていると思いますがこのシグナル関数の引数のコールバックの関数形はこの2つだけでしょうか? その識別はイベントが"delete_event"であるかそうでないかの2通りだけでしょうか?