質問: GtkBuilderと "名前" 私はGtkBuilderオブジェクト内のすべてのGtkWidgetsの「名前」を取得しようとしていました。 ビルダーオブジェクトからすべてのオブジェクトを `gtk_builder_get_objects()`経由で取得し、それらをGSListに格納することができました。 しかし、gobjects(GtkWidgetsにキャスト)で `gtk_widget_get_name()`を使用すると、 "window1"や "button1"の代わりに "GtkWindow"や "GtkButton"などの汎用名が取得されます。グレイドで表示されます。 どのような助けも ***非常に*** 高く評価され、このプログラマーを*非常に* 喜ばせることになります。
回答: ビルダーに設定された名前は、 `GtkWidget` の名前と同じではありません。 `GtkBuilder` は、ファイルまたは文字列(ビルダーが追加された)と関連オブジェクトから `GtkBuilder UI定義`に設定された名前を持つ内部ハッシュテーブルを保持します。 `gtk_builder_get_object()`が呼び出されたときにオブジェクトを取得するために使用されます。 `"` GtkWidget のa>プロパティを使用します。 `gtk_widget_get_name()`を使用して取得できる `GtkWidget` の名前を設定するには、 `GtkBuilder UI定義`の `"name"` /code>。 お役に立てれば!