Python 如何更改GTK中的字体大小?
有没有一种简单的方法来更改GTK中文本元素的字体大小?现在我能做的最好的事情就是在标签上做Python 如何更改GTK中的字体大小?,python,fonts,gtk,pygtk,gtk2,Python,Fonts,Gtk,Pygtk,Gtk2,有没有一种简单的方法来更改GTK中文本元素的字体大小?现在我能做的最好的事情就是在标签上做set\u markup,做一些愚蠢的事情,比如: lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text) lbl.set\u标记(“%s”%text) 这1)需要我设置字体,2)看起来开销很大(必须解析标记),3)更改按钮的字体大小会让人恼火。有更好的方法吗?在C中,您可以执行以下操作: gtk_widge
set\u markup
,做一些愚蠢的事情,比如:
lbl.set_markup("<span font_desc='Tahoma 5.4'>%s</span>" % text)
lbl.set\u标记(“%s”%text)
这1)需要我设置字体,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)
若你们想在你们的应用程序中整体改变字体,我会把这个工作交给gtkrc(然后变成一个谷歌问题,“gtkrc字体”查询会给我们带来gtkrc文件的以下片段): (将字体替换为您/用户需要的字体) 然后,用户将获得一致的体验,并能够轻松更改设置,而无需插入代码,也无需处理维护个人配置相关代码的开销。我理解,如果您对widget_类有更精确的定义,您可以使此设置更具体
YMMV适用于不同的平台,但AFAIK如果使用GTK,此文件始终存在于某些位置,并允许用户负责演示细节。是否可以仅为我的应用程序使用自定义gtkrc文件?如果是这样的话,我该怎么做呢?试试下面的想法:链接在C中是死的,这会造成内存泄漏,因为pango字体描述在使用后需要使用
pango\u font\u description\u free()
释放(这在pango\u font\u description\u from\u string()
本身的文档中并不明显)。除此之外,这是一个可能的解决方案。使用后立即释放?今天我惊讶地发现font_desc仅与字体大小一起工作。这对我来说并不明显。
style "font"
{
font_name = "Corbel 8"
}
widget_class "*" style "font"
gtk-font-name = "Corbel 8"