如何更改GTK中的字体大小?

时间:2009-08-12 23:46:40

标签: python fonts gtk pygtk gtk2

是否有一种简单的方法可以更改GTK中文本元素的字体大小?现在,我能做的最好的事情就是在标签上做set_markup,其中包含愚蠢的内容:

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

这1)要求我设置字体,2)看起来像很多开销(必须解析标记),3)会让改变按钮的字体大小等烦人。还有更好的方法吗?

2 个答案:

答案 0 :(得分:8)

如果你想在你的应用程序中更改整体字体,我会把这个工作留给gtkrc(然后成为一个谷歌问题,“gtkrc font”查询将我们带到this ubuntu forums link,其中包含以下内容gtkrc文件的片段:

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

(将字体替换为您/用户需要的字体)

然后,用户将获得一致的体验,并且可以轻松更改设置,而无需他们查看代码,也无需处理维护与个人配置相关的代码的开销。我知道如果你有更精确的widget_class定义,你可以使这个设置更具体。

针对不同平台的YMMV,但如果使用GTK,AFAIK此文件始终存在于某个位置,并允许用户负责演示详细信息。

答案 1 :(得分:3)

在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)