Als before,GTK + Set Schriftgröße
die MenuItems sind zu klein für meinen Anwendungsfall.
Daher ist meine Frage, „wie ich die Schriftgröße des Textes erhöhen‚Speichern‘,‚Load‘und‚Exit?‘“
Der folgende Code ist in der Lage, den Stil des sich ändern "Speichern" Text, außer dass es nicht möglich ist, die Schriftgröße zu ändern.
Wenn die ausführbare Datei ausgeführt wird, kommt die folgende Warnung auf:
Gtk-WARNING **: Theme parsing error: Styles.css:10:14: Junk at end of value
Wenn die Leitung font-size: 25px;
entfernt wird (oder kommentiert out), die Warnung verschwindet.
Diese wie font-size
scheinen kann, ist in GTK + 3 nicht implementiert, aber es wird als gültige Eigenschaft aufgeführt bei
https://developer.gnome.org/gtk3/stable/chap-css-properties.html#id-1.5.3.3.15
So bleibt die Frage, " Wie erhöhe ich die Schriftgröße dieser Methode? "
Styles.css
/*
Valid Font Properties:
https://developer.gnome.org/gtk3/stable/chap-css-properties.html#id-1.5.3.3.15
*/
.Item_Save {
background: rgba(000, 255, 000, 1);
font-style: italic;
font-weight: 800;
font-size: 25px;
padding: 10px 10px 10px 10px;
}
C-Quelldatei
#include <gtk/gtk.h>
int main (int argc, char *argv[]) {
gtk_init(&argc, &argv);
GtkCssProvider* Provider = gtk_css_provider_new();
GdkDisplay* Display = gdk_display_get_default();
GdkScreen* Screen = gdk_display_get_default_screen(Display);
gtk_style_context_add_provider_for_screen(Screen, GTK_STYLE_PROVIDER(Provider), GTK_STYLE_PROVIDER_PRIORITY_USER);
gtk_css_provider_load_from_path(GTK_CSS_PROVIDER(Provider), "Styles.css", NULL);
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");
GtkStyleContext *Context;
Context = gtk_widget_get_style_context(Item_Save);
gtk_style_context_add_class(Context, "Item_Save");
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;
}
Ich benutze Linux (gab vor 20-ungerade Jahren auf Windows). Aber diese Probleme sollten nicht vom Betriebssystem abhängen, da Sie auf den Gtk + -Funktionen aufbauen, um Ihre Arbeit zu erledigen (und auf neu kompilierten Linux-Bibliotheken). Natürlich können die Windows-Ports von Gtk + mehrere Versionen hinter sich haben. Welche Gtk + Version hast du? – jcoppens
Meine GTK + Version ist 3.6.4 viele Versionen hinter dem aktuellen. Ich sollte wahrscheinlich aktualisieren –
Oohhh ... Sie * wirklich * sollte aktualisieren. Es gibt * große * Unterschiede seit 3.6! Besonders die CSS-Implementierung ist merklich gereift. Nur von 3.18 bis 3.20 haben sich viele Dinge geändert. Ich bin mir ziemlich sicher, dass das Schriftgrößenproblem seit 3.6 gelöst wurde. (Just checked - 3.6 ist fast 3 Jahre alt) – jcoppens