使用GMenu(Gnome / Gtk)创建菜单时,菜单项的标签(->图片)上留有很大的空隙。有什么想法要解决吗?
#include <gio/gio.h>
#include <glib.h>
#include <glib-object.h>
#include <glib/gi18n.h>
//....
//....
if(title && (action || submenu))
{
GMenuItem *item;
if(submenu)
{
item = g_menu_item_new_submenu (title, G_MENU_MODEL(submenu));
}
else
{
item = g_menu_item_new(title, action);
if (icon != NULL)
{
g_menu_item_set_attribute (item, "icon", "s", icon);
}
}
//.....
//....
答案 0 :(得分:0)
不幸的是,它就是intended to be的样子。
您可以坚持使用已弃用的GtkImageMenuItem
,直到将应用程序移植到GTK 4之前没有问题。如果您确实想避免使用已弃用的组件,则可以按照建议将图像+标签包装在GtkBox
中根据文档,虽然它不是那么简单,但是需要一些怪癖才能得到一个体面的解决方案:
gtk_menu_set_reserve_toggle_size
,并将其设置为FALSE
。gtk_image_new_from_icon_name ("", GTK_ICON_SIZE_BUTTON)
您可以找到功能完善的示例here。
注意:不能保证这将在GTK 4上正常运行。