Вопрос

Есть ли простой способ изменить размер шрифта текстовых элементов в GTK?Сейчас лучшее, что я могу сделать, это сделать set_markup на этикетке что-то глупое вроде:

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

Это 1) требует от меня установки шрифта, 2) кажется, что это требует больших накладных расходов (необходимо анализировать разметку), и 3) будет раздражать изменение размера шрифта кнопок и тому подобного.Есть ли способ лучше?

Это было полезно?

Решение

Если вы хотите изменить шрифт в целом в своих приложениях, я бы оставил эту работу gtkrc (тогда это становится вопросом Google, и запрос «шрифт gtkrc» приводит нас к эта ссылка на форум Ubuntu который имеет следующий фрагмент файла gtkrc):

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

(замените шрифт на тот, который нужен вам/пользователю)

Тогда пользователь получит единообразный опыт и сможет легко изменять настройки без необходимости втыкать код в код и без необходимости справляться с накладными расходами по поддержанию вашего личного кода, связанного с конфигурацией.Я понимаю, что вы можете сделать этот параметр более конкретным, если у вас есть более точное определение widget_class.

YMMV для разных платформ, но AFAIK этот файл всегда присутствует в каком-то месте, если используется GTK, и позволяет пользователю отвечать за детали презентации.

Другие советы

В C вы можете сделать:

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

Я считаю, что в PyGTK это что-то вроде:

pangoFont = pango.FontDescription("Tahoma 5.4")
lbl.modify_font(pangoFont)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top