03/08/30 00:40 npfy9qpx
鷲のしょーもない理解でよければ...
GtkButtonヴィジェットは、ボタンとしての側面以外にも
「ラベルとかをはりつけて表示する(Container)」とか
「シグナルを発生する」(まぁボタンとしての性質だが、ボタンに限らない)
とかもある。
そこで、生成するときはGtkWidgetで生成しておき、必要に応じて
キャスト(GTK_BUTTON()とか)して使う。
ボタンの性質(押されているか)を扱うときはGTK_BUTTONでキャストするし
コンテナの性質(ほかのヴィジェットを貼り付ける)を扱うときは
GTK_CONTAINERでキャストすることで
それぞれの型のヴィジェットとして扱うことができる。