我知道这个问题存在如何使用 GTK 将图像添加到按钮,但是
gtk_button_set_image
在 gtk4 中已弃用。
gtk_button_set_child (GTK_BUTTON (button), image);
其中按钮和图像分别是 GtkButton 和 GtkImage 。
Gtk.Box box = new Gtk.Box(Gtk.Orientation.HORIZONTAL, 5);
box.prepend(new Image.from_icon_name("media-playback-start"));
box.append(new Gtk.Label("Play"));
button.child = box;
您可以使函数返回带有图像和标签的 Gtkbutton,如下所示:
gtk_button_new
)。gtk_box_new
)。gtk_image_new_from_icon_name
)。gtk_label_new_with_mnemonic
)。gtk_box_append
)。gtk_button_set_child
)。GtkWidget* my_button_new(const gchar *str, const gchar *icon_name)
{
GtkWidget *button = gtk_button_new ();
GtkWidget *child = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 5);
GtkWidget *image = gtk_image_new_from_icon_name (icon_name);
GtkWidget *label = gtk_label_new_with_mnemonic (str);
gtk_box_append (GTK_BOX (child), image);
gtk_box_append (GTK_BOX (child), label);
gtk_button_set_child (GTK_BUTTON (button), child);
return button;
}
希望对有同样问题的人有所帮助。