gpt4 book ai didi

GtkToolButton 带有自定义图标,但具有股票图标大小

转载 作者:行者123 更新时间:2023-12-04 14:07:50 25 4
gpt4 key购买 nike

我有一个 GtkToolBar,上面有 3 个 GtkToolButton,每个按钮都有一个股票图标值,因此它们都以相同的大小显示;现在我添加了一个带有自定义图像 (.png) 的第 4 个 GtkToolButton,它是任意尺寸的,只有这个按钮看起来很大(因为图像具有更高的分辨率)。我该怎么做才能缩放这个 GtkToolButton 以匹配其他 3 个按钮?

这是执行我介绍的内容的代码:

GtkWidget *custom_icon = gtk_image_new_from_file(path);
GtkToolItem *toolbar_item = gtk_toggle_tool_button_new();
gtk_tool_button_set_icon_widget(GTK_TOOL_BUTTON(toolbar_item), custom_icon);
gtk_tool_button_set_label(GTK_TOOL_BUTTON(toolbar_item), "Custom Item");
gtk_toolbar_insert(toolbar, toolbar_item, -1);

最佳答案

这是另一种解决方案。

GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file(icon_file_path, NULL);
int width, height;
gdk_pixbuf_get_file_info (icon_file_path, &width, &height);
gtk_icon_theme_add_builtin_icon ("custom_icon", width, pixbuf);
g_object_unref (G_OBJECT (pixbuf));

GtkToolItem *toolbar_item = gtk_toggle_tool_button_new();
gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON(toolbar_item), "custom_icon");

如果您有不同尺寸的图像,您可以将它们全部添加并让 Gtk 选择正确尺寸之一(如果未找到则调整大小):只需为每个图像文件重复前五行。

您可以在其他任何地方使用您的图标,其大小也会自动调整。
例如,要将其用于主窗口:
gtk_window_set_icon_name(GTK_WINDOW(main_window), "custom_icon");

关于GtkToolButton 带有自定义图标,但具有股票图标大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12521134/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com