7

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

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

这 1) 需要我设置字体,2) 似乎有很多开销(必须解析标记),以及 3) 会使更改按钮等的字体大小变得烦人。有没有更好的办法?

4

2 回答 2

9

如果您想在您的应用程序中整体更改字体,我会将这份工作留给 gtkrc(然后变成一个谷歌问题,并且“gtkrc 字体”查询将我们带到这个 ubuntu 论坛链接,其中包含以下片段gtkrc 文件):

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

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

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

YMMV 适用于不同的平台,但如果使用 GTK,AFAIK 这个文件总是存在于某个位置,并允许用户负责演示细节。

于 2009-08-13T00:02:07.970 回答
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)
于 2009-08-12T23:52:32.327 回答