Frage

Gibt es eine einfache Möglichkeit, die Schriftgröße von Textelementen in GTK zu ändern? Im Augenblick ist die beste, die ich tun kann, ist zu tun set_markup auf einem Etikett, mit etwas albern wie:

lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)

Das 1) verlangt, dass ich die Schrift zu setzen, 2) scheint wie eine Menge Overhead (mit dem Markup) zu analysieren, und 3) wäre es ärgerlich macht die Schriftgröße von Tasten und so zu ändern. Gibt es einen besseren Weg?

War es hilfreich?

Lösung

Wenn Sie Schriftart Gesamt in Ihrer Anwendung (en) geändert werden soll, würde ich diesen Job verlassen, um zu gtkrc (dann wird eine Frage google, und "gtkrc font" Abfrage bringt uns auf das ubuntu-Forum verknüpfen, die den folgenden Ausschnitt aus der die gtkrc-Datei) hat:

style "font"
{
font_name = "Corbel 8"
}
widget_class "*" style "font"
gtk-font-name = "Corbel 8"

(ersetzen Sie die Schrift mit den man / Benutzer müssen)

Dann wird der Benutzer konsistente Erfahrung bekommen und wird die Einstellungen leicht, ohne dass Änderungen der Lage sein, für die sie in dem Code zu stoßen und ohne dass Sie den Aufwand zu handhaben, um Ihren persönlichen konfigurationsbezogene Code aufrecht zu erhalten. Ich verstehe Sie diese Einstellung vornehmen können spezifischere, wenn Sie eine genauere Definition für die widget_class haben.

YMMV für verschiedene Plattformen, aber AFAIK diese Datei an einer Stelle immer vorhanden ist, wenn GTK verwendet wird, und ermöglicht es den Benutzer zuständig Präsentation Details zu sein.

Andere Tipps

In C können Sie tun:

gtk_widget_modify_font(lbl, pango_font_description_from_string("Tahoma 5.4"));

In PyGTK, ich glaube, es ist so etwas wie:

pangoFont = pango.FontDescription("Tahoma 5.4")
lbl.modify_font(pangoFont)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top