如何使用 GTK 将图像添加到按钮
How to add an image to a button with GTK
我正在尝试将图像添加到带标签的按钮,但图像不显示,损坏的图像也不显示。
stop_button = gtk_button_new_with_label("stop");
image = gtk_image_new_from_file ("/home/cendit/Escritorio/index.jpeg");
gtk_button_set_image (GTK_BUTTON(stop_button),image);
我尝试了不同的路径"file:///home/cendit/Escritorio/index.jpeg"但没有成功。
这就是你需要做的
GtkImage *imagen_pantalla_completa;
GtkWidget *pantalla_completa;
pantalla_completa = gtk_button_new_with_label("");
imagen_pantalla_completa = (GtkImage *)gtk_image_new_from_file("/home/user...");
gtk_button_set_image (GTK_BUTTON(pantalla_completa),(GtkWidget *)imagen_pantalla_completa);
你需要添加这个才能显示图片
GtkSettings *default_settings = gtk_settings_get_default();
g_object_set(default_settings, "gtk-button-images", TRUE, NULL);
默认情况下,按钮内的图像不可见,因为我们从 GTK+ 2.x 过渡到 3.x。遗憾的是,API 尚未清理以反映此更改,因此它有点陷阱。
如果你想显示一个按钮里面只有一张图片,你可以使用:
GtkWidget *image = gtk_image_new_from_file ("...");
GtkWidget *button = gtk_button_new ();
gtk_button_set_image (GTK_BUTTON (button), image);
另一方面,如果您想要一个既有文本又有图像的按钮,您可以使用:
GtkWidget *image = gtk_image_new_from_file ("...");
GtkWidget *button = gtk_button_new_with_label ("...");
gtk_button_set_always_show_image (GTK_BUTTON (button), TRUE);
gtk_button_set_image (GTK_BUTTON (button), image);
有关详细信息,请参阅 gtk_button_set_image()
的文档。
我正在尝试将图像添加到带标签的按钮,但图像不显示,损坏的图像也不显示。
stop_button = gtk_button_new_with_label("stop");
image = gtk_image_new_from_file ("/home/cendit/Escritorio/index.jpeg");
gtk_button_set_image (GTK_BUTTON(stop_button),image);
我尝试了不同的路径"file:///home/cendit/Escritorio/index.jpeg"但没有成功。
这就是你需要做的
GtkImage *imagen_pantalla_completa;
GtkWidget *pantalla_completa;
pantalla_completa = gtk_button_new_with_label("");
imagen_pantalla_completa = (GtkImage *)gtk_image_new_from_file("/home/user...");
gtk_button_set_image (GTK_BUTTON(pantalla_completa),(GtkWidget *)imagen_pantalla_completa);
你需要添加这个才能显示图片
GtkSettings *default_settings = gtk_settings_get_default();
g_object_set(default_settings, "gtk-button-images", TRUE, NULL);
默认情况下,按钮内的图像不可见,因为我们从 GTK+ 2.x 过渡到 3.x。遗憾的是,API 尚未清理以反映此更改,因此它有点陷阱。
如果你想显示一个按钮里面只有一张图片,你可以使用:
GtkWidget *image = gtk_image_new_from_file ("...");
GtkWidget *button = gtk_button_new ();
gtk_button_set_image (GTK_BUTTON (button), image);
另一方面,如果您想要一个既有文本又有图像的按钮,您可以使用:
GtkWidget *image = gtk_image_new_from_file ("...");
GtkWidget *button = gtk_button_new_with_label ("...");
gtk_button_set_always_show_image (GTK_BUTTON (button), TRUE);
gtk_button_set_image (GTK_BUTTON (button), image);
有关详细信息,请参阅 gtk_button_set_image()
的文档。