• ベストアンサー
※ 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)の形をしていますが、これらの形式はどのように決まるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • mcWalker
  • ベストアンサー率69% (27/39)
回答No.1

http://www.kitanet.ne.jp/~asler/linux/gtk/ja/gtk_tut_ja-2.html 2.3 シグナルとコールバックの仕組み いろいろある。

keyguy
質問者

お礼

イベントごとにコールバックの形が違っているのですね? どのイベントがどんなコールバック形をしているのかという表みたいなものは無いのでしょうか?

keyguy
質問者

補足

ありがとうございます コンパイラはコールバックの関数形を勝手に決めてしまうと認識できないのでコールバックの関数形は何らかの規則で決まっていると思いますがこのシグナル関数の引数のコールバックの関数形はこの2つだけでしょうか? その識別はイベントが"delete_event"であるかそうでないかの2通りだけでしょうか?

その他の回答 (1)

  • mcWalker
  • ベストアンサー率69% (27/39)
回答No.2

gtk+ はソース・コードが公開されています。 ダウンロードして、眺めた方が早いかと思います。

keyguy
質問者

お礼

ありがとうございます