Come posso cambiare la dimensione del carattere in GTK?
Domanda
C'è un modo semplice per modificare la dimensione del carattere degli elementi di testo in GTK? In questo momento il meglio che posso fare è fare set_markup
su un'etichetta, con qualcosa di stupido come:
lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)
Questa 1) mi impone di impostare il tipo di carattere, 2) sembra un sacco di overhead (dover analizzare il markup), e 3) renderebbe fastidioso per cambiare la dimensione del carattere di pulsanti e così via. C'è un modo migliore?
Soluzione
Se si desidera cambiare tipo di carattere generale nella vostra app (s), avrei lasciato questo lavoro per gtkrc (allora diventa una questione di google, e query "gtkrc font" ci porta a che ha il seguente frammento del file gtkrc):
style "font"
{
font_name = "Corbel 8"
}
widget_class "*" style "font"
gtk-font-name = "Corbel 8"
(sostituire il carattere con quello che / esigenze degli utenti)
Quindi l'utente otterrà un'esperienza coerente e sarà in grado di modificare le impostazioni con facilità, senza necessità per loro di ficcare il codice e senza la necessità di gestire il sovraccarico di mantenere il vostro codice di configurazione relative personale. Capisco è possibile effettuare questa impostazione in modo più preciso se si dispone di una definizione più precisa per il widget_class.
YMMV per diverse piattaforme, ma per quanto ne so questo file è sempre presente in qualche posizione se GTK è in uso, e permette all'utente di essere responsabile di dettagli di presentazione.
Altri suggerimenti
In C, si può fare:
gtk_widget_modify_font(lbl, pango_font_description_from_string("Tahoma 5.4"));
In PyGTK, credo che sia qualcosa di simile:
pangoFont = pango.FontDescription("Tahoma 5.4")
lbl.modify_font(pangoFont)