Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/03/2010, à 11:43

Fake

[Autorésolu] GTK+ et police d'un label

Bonjour à tous, Après moult recherches et prises de tête avec la doc de GTK+ et Pango, je me décide à demander l'avis des experts...

Je cherche à faire un soft très simple, qui lira dans un fichier une liste de mots, les affichera un par un dans un label, et il faudra les recopier dans une zone de saisie.

Bref les mots à recopier s'affichent dans un label et j'aimerai bien qu'ils s'affichent plus gros que normal (la police par défaut est bien souvent autour des 9 ou 10...)

J'ai vu qu'on pouvait utiliser <span> mais ca m'obligerai à concaténer les balise et le mot à chaque fois.
Du coup je me suis dit que j'allais le faire avec des attributs de Pango et voila ce que j'ai fait :
   

GtkWidget *wordzone;
PangoAttrList *wordstyle;
PangoAttribute *wordsize;

/* Word to read zone */

wordzone = gtk_label_new("éssai de texte à afficher");
gtk_label_set_justify(GTK_LABEL(wordzone), GTK_JUSTIFY_CENTER);
gtk_label_set_selectable(GTK_LABEL(wordzone), FALSE);
wordstyle = pango_attr_list_new();
pango_attr_list_unref(wordstyle);
wordsize = pango_attr_size_new_absolute(20);
pango_attr_list_insert(wordstyle, wordsize);
gtk_label_set_attributes(GTK_LABEL(wordzone), wordstyle);
gtk_box_pack_start(GTK_BOX(vbox), wordzone, FALSE, TRUE, 10);

Ça compile sans erreur mais le label ne s'affiche plus alors que sans les bidouilles de Pango ca marche.

Dernière modification par Fake (Le 15/03/2010, à 12:23)

Hors ligne

#2 Le 15/03/2010, à 12:22

Fake

Re : [Autorésolu] GTK+ et police d'un label

En fait j'ai trouvé :

GtkWidget *wordzone;
PangoFontDescription *wordstyle;

/* Word to read zone */

wordzone = gtk_label_new("éssai de texte à afficher");
gtk_label_set_justify(GTK_LABEL(wordzone), GTK_JUSTIFY_CENTER);
gtk_label_set_selectable(GTK_LABEL(wordzone), FALSE);
wordstyle = pango_font_description_from_string("Sans Bold 20");
gtk_widget_modify_font(GTK_WIDGET(wordzone), wordstyle);
gtk_box_pack_start(GTK_BOX(vbox), wordzone, FALSE, TRUE, 10);

Et cela fait l'affaire ...

Hors ligne