Pygtk3指定gtk3 Label / CellRenderer字体

时间:2014-09-30 18:50:05

标签: python-3.x gtk3 pygobject pango

根据faq.pygtk.org上的pygtk2文档,更改字体的方法是这样的定义:

...

label = gtk.Label("MyLabel")
label.modify_font(pango.FontDescription("sans 48"))
...

pyGtk3中的等价物是什么?

我希望避免使用gtk css定义。虽然我很乐意接受一个利用gtk的css支持的答案。

我的目标字体是gnu unifont(unifont medium),如果有任何改变;此字体以tty格式提供。

此时我假设将字体应用于标签类似于将字体应用于表格单元格,尽管两者的示例都是理想的。

最新的pygtk3文档似乎并未涵盖此主题:http://python-gtk-3-tutorial.readthedocs.org/en/latest/label.html,并且整个文档中几乎没有提及字体。

2 个答案:

答案 0 :(得分:3)

它基本相同:

from gi.repository import Gtk, Pango
label = Gtk.Label('MyLabel')
label.modify_font(Pango.FontDescription('Dejavu Sans Mono'))

答案 1 :(得分:1)

一种方法是使用Pango标记[1]:

label = Gtk.Label()
label.set_markup("<span font_desc='unifont medium'>%s</span>" % 'some text')

[1] https://developer.gnome.org/pango/stable/PangoMarkupFormat.html