生成器无法找到新创建的按钮
Builder unable to find newly created button
使用创建对象后:
GtkWidget* New = gtk_button_new_with_label("new");
并使用以下方式设置小部件的名称:
gtk_widget_set_name(New, "new");
application->get_object("new")
仍然返回 null。我究竟做错了什么? : **(
Gtk::Builder::get_object(const Glib::ustring& name)
在 ui 文本文件中查找对象。你可以用 Glade 写一个 ui 文件,https://glade.gnome.org/index.html.
然而,当你写
GtkWidget* New = gtk_button_new_with_label("new-name");
gtk_widget_set_name(New, "new-name");
您创建一个标签并为其命名。但是标签不在 ui 文件中。因此,您将无法从 Gtk::Builder
实例中找到它。名称 "new-name" 允许您在 CSS 文件中将其称为 "new-name",因此您可以更改其主题(字体、背景颜色等)。
这是两个不同的东西。
使用创建对象后:
GtkWidget* New = gtk_button_new_with_label("new");
并使用以下方式设置小部件的名称:
gtk_widget_set_name(New, "new");
application->get_object("new")
仍然返回 null。我究竟做错了什么? : **(
Gtk::Builder::get_object(const Glib::ustring& name)
在 ui 文本文件中查找对象。你可以用 Glade 写一个 ui 文件,https://glade.gnome.org/index.html.
然而,当你写
GtkWidget* New = gtk_button_new_with_label("new-name");
gtk_widget_set_name(New, "new-name");
您创建一个标签并为其命名。但是标签不在 ui 文件中。因此,您将无法从 Gtk::Builder
实例中找到它。名称 "new-name" 允许您在 CSS 文件中将其称为 "new-name",因此您可以更改其主题(字体、背景颜色等)。
这是两个不同的东西。