【发布时间】:2012-02-05 16:58:45
【问题描述】:
我有以下使用 pygtk 的代码:
attr = pango.AttrList()
attr.change(pango.AttrSize((
50 * window_height / 100) * 1000, 0, -1))
attr.change(pango.AttrFamily("Sans", 0, -1))
attr.change(pango.AttrWeight(pango.WEIGHT_BOLD, 0, -1))
attr.change(pango.AttrForeground(65535, 65535, 65535, 0, -1))
self.label.set_attributes(attr)
我正在尝试将其移植到 pygobject,但没有类 Pango.AttrFamily、Pango.AttrWeight 和 Pango.AttrForeground(我无法实例化 Pango.AttrSize)。
问题是:如何通过自省来使用pango_attr_size_new、pango_attr_weight_new、pango_attr_family_new和pango_attr_foreground_new?
我知道我可以使用markup 来执行此操作,但是 1. 使用属性会使事情变得更简单 2. 我想知道这里发生了什么!我已经花了很多时间试图解决它。
【问题讨论】:
-
你在这方面有什么收获吗?我也遇到了同样的问题。
-
FIY,这是相关问题:bugzilla.gnome.org/show_bug.cgi?id=646788(自 2014 年以来未更改)
-
此问题尚未修复。但是你可以通过使用新的 CSS 系统来解决它:
#mylabel {color:blabla; etc;},设置self.label.set_name("mylabel"),然后导入 CSS 文件Gtk.CssProvider.load_from_file(Gtk.CssProvider_get_default(), file)。
标签: python gtk3 pygobject pango