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

7 投票
2 回答
19078 浏览
提问于 2025-04-15 13:33

有没有简单的方法可以在GTK中改变文本元素的字体大小?现在我能做的最好方法就是在标签上使用 set_markup,像这样:

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

这样做有几个问题:1)我需要自己设置字体,2)感觉这样做太麻烦了(需要解析这些标记),3)还会让改变按钮等的字体大小变得很麻烦。有没有更好的方法呢?

2 个回答

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

如果你想在你的应用程序中整体更改字体,我建议你使用gtkrc文件来完成这个任务(这就变成了一个谷歌搜索的问题,搜索“gtkrc font”会带你到这个Ubuntu论坛的链接,里面有gtkrc文件的相关代码片段):

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

(把字体替换成你或用户需要的字体)

这样用户就能获得一致的体验,并且可以轻松更改设置,而不需要深入代码,也不需要你去维护个人配置相关的代码。我明白如果你对widget_class有更精确的定义,可以让这个设置更具体。

不同平台的情况可能会有所不同,但据我所知,只要使用GTK,这个文件总是会在某个地方存在,它让用户可以掌控界面的细节。

撰写回答