Comme before,GTK + Set Font Size
les MenuItems sont trop petits pour mon cas d'utilisation.
Par conséquent, ma question est, « comment je peux augmenter la taille de police du texte « Enregistrer », « Load » et « Exit? » »
Le code ci-dessous est en mesure de changer le style de la "Enregistrer" le texte, sauf qu'il est impossible de modifier la taille de la police.
Lorsque l'exécutable est exécuté, l'avertissement suivant apparaît:
Gtk-WARNING **: Theme parsing error: Styles.css:10:14: Junk at end of value
Lorsque la ligne font-size: 25px;
est supprimée (ou commenté), l'avertissement disparaît.
Cela peut sembler font-size
n'est pas implémenté dans GTK + 3, mais il est répertorié comme une propriété valide à
https://developer.gnome.org/gtk3/stable/chap-css-properties.html#id-1.5.3.3.15
La question reste, " comment puis-je augmenter la taille de la police en utilisant cette méthode? "
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 Source Fichier
#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;
}
J'utilise Linux (abandonné sur Windows il y a 20 ans). Mais ces problèmes ne doivent pas dépendre du système d'exploitation, car vous construisez sur les fonctions Gtk + pour faire votre travail (et sur les bibliothèques Linux recompilées). Bien sûr, les ports Windows de Gtk + pourraient être plusieurs versions derrière. Quelle version de Gtk + avez-vous? – jcoppens
Ma version GTK + est 3.6.4 plusieurs versions derrière currrent. Je devrais probablement mettre à jour –
Oohhh ... Vous * vraiment * devrait mettre à jour. Il y a des * énormes * différences depuis 3.6! En particulier, la mise en œuvre CSS a sensiblement évolué. Juste de 3.18 à 3.20, beaucoup, beaucoup de choses ont changé. Je suis tout à fait sûr que le problème de taille de police a été résolu depuis 3.6. (Juste vérifié - 3.6 a presque 3 ans) – jcoppens