我用Google搜索了这个问题,但还没有找到解决方案。我正在从gtk2过渡到gtk3。我喜欢菜单图标在标题栏上打包的方式。我能够在标题栏中添加一个菜单按钮,但它显示一个向下箭头按钮。有没有办法将其更改为有3行的图标。
这正是我想要的:
我现在的代码看起来像这样
header_bar = gtk_header_bar_new();
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (header_bar), TRUE);
gtk_header_bar_set_title(GTK_HEADER_BAR(header_bar),PRG_NAME);
gtk_header_bar_set_subtitle(GTK_HEADER_BAR(header_bar),tool_version);
//gtk_header_bar_set_decoration_layout(GTK_HEADER_BAR(header_bar), "menu,minimize,maximize,close");
gtk_window_set_titlebar (GTK_WINDOW (window), header_bar);
//menu_popover = gtk_menu_new();
menubar = gtk_menu_button_new();
gtk_header_bar_pack_end(GTK_HEADER_BAR(header_bar),menubar);
答案 0 :(得分:0)
如果您使用XML文件存储ui,则可以自定义图标:
<object class="GtkMenuButton" id="button_header_menu">
<property name="image">image_header_menu</property>
</object>
<object class="GtkImage" id="image_header_menu">
<property name="visible">True</property>
<property name="icon_name">open-menu-symbolic</property>
</object>
如果没有,你可以这样做:
icon = Gio.ThemedIcon(name="open-menu-symbolic")
image = Gtk.Image.new_from_gicon(icon, Gtk.IconSize.BUTTON)
button_header_menu.get_child().destroy()
button_header_menu.add(image)
button_header_menu.show_all()
我在python中编码,但是移植这段代码应该非常简单。
答案 1 :(得分:0)
感谢您让我走上正轨。以下是我的表现
header_bar = gtk_header_bar_new();
gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (header_bar), TRUE);
gtk_header_bar_set_title(GTK_HEADER_BAR(header_bar),PRG_NAME);
gtk_header_bar_set_subtitle(GTK_HEADER_BAR(header_bar),tool_version);
//gtk_header_bar_set_decoration_layout(GTK_HEADER_BAR(header_bar), "menu,minimize,maximize,close");
gtk_window_set_titlebar (GTK_WINDOW (window), header_bar);
//menu_popover = gtk_menu_new();
menu = gtk_button_new_from_icon_name("open-menu-symbolic", GTK_ICON_SIZE_BUTTON);
gtk_header_bar_pack_end(GTK_HEADER_BAR(header_bar),menu);