在运行Windows的机器上,对于我的用例来说,MenuItems太小了。
因此,我的问题是,“如何增加文本”保存“加载”和“退出”的字体大小?
如果没有,那么如何增加MenuItems之间的填充?
(在"Load“和”Exit“之间不添加更多的行分隔符)
此外,如果可能的话,如何删除中间变量SubMenu1?
裁剪镜头

以下是复制的完整来源:
#include <gtk/gtk.h>
int main (int argc, char *argv[]) {
gtk_init (&argc, &argv);
GtkWidget* Window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
GtkWidget* MenuBar = gtk_menu_bar_new();
GtkWidget* MenuItem_File = gtk_menu_item_new_with_mnemonic("_File");
GtkWidget* SubMenu1 = gtk_menu_new();
GtkWidget* Item_Save = gtk_menu_item_new_with_mnemonic("_Save");
GtkWidget* Item_Load = gtk_menu_item_new_with_mnemonic("_Load");
GtkWidget* Item_Exit = gtk_menu_item_new_with_mnemonic("_Exit");
gtk_menu_shell_append(GTK_MENU_SHELL(SubMenu1), Item_Save);
gtk_menu_shell_append(GTK_MENU_SHELL(SubMenu1), Item_Load);
gtk_menu_shell_append(GTK_MENU_SHELL(SubMenu1), gtk_separator_menu_item_new());
gtk_menu_shell_append(GTK_MENU_SHELL(SubMenu1), Item_Exit);
gtk_menu_item_set_submenu(GTK_MENU_ITEM(MenuItem_File), SubMenu1);
gtk_menu_shell_append(GTK_MENU_SHELL(MenuBar), MenuItem_File);
GtkWidget* VerticalBox;
VerticalBox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
gtk_box_pack_start(GTK_BOX(VerticalBox), MenuBar, false, false, 0);
gtk_container_add(GTK_CONTAINER(Window), VerticalBox);
gtk_widget_show_all(MenuBar);
gtk_widget_show(VerticalBox);
gtk_window_set_default_size(GTK_WINDOW(Window), 950, 600);
gtk_window_set_position(GTK_WINDOW(Window), GTK_WIN_POS_CENTER);
gtk_window_set_title(GTK_WINDOW(Window), "My Title");
gtk_widget_show(Window);
gtk_main();
return 0;
}发布于 2016-12-12 04:51:13
Gtk3 3的字体大小控制(和其他样式属性)委托给CSS文件。在您的程序中这样做通常是不被鼓励的(尽管这当然是可能的-请看一下Gtk3 3的CSS_provider函数)。但通常你会希望你的程序看起来与其他程序“兼容”,我怀疑。
原因是你的程序应该是可以从外部控制的--无论是出于个人品味的原因,还是出于可访问性的考虑。因此,如果您认为菜单等的字体样式太小,您可以:
许多其他视觉方面的控制来自CSS文件:元素之间的分离(例如。),角的四舍五入,视觉效果等.但是,多亏了CSS系统,你通常可以“调整”你喜欢的项目。
编辑:如果您想在另一台机器上运行可执行文件,您可能需要一个窗口管理器来运行它,这使得上面的内容仍然有效。
还有另一个解决方案(我前面提到过,第一段),就是临时使用CSS提供程序集Gtk函数更改CSS。如果您真的想严格地编写程序,可以使用modify_font方法的GtkWidget。
https://stackoverflow.com/questions/41072683
复制相似问题