首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有pygobject的pango属性

具有pygobject的pango属性
EN

Stack Overflow用户
提问于 2012-01-09 11:39:39
回答 2查看 2.1K关注 0票数 9

我有以下使用pygtk的代码:

代码语言:javascript
复制
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_newpango_attr_weight_newpango_attr_family_newpango_attr_foreground_new

我知道我可以使用markup来做这件事,但是1.使用属性会让事情变得更简单,2.我想知道这里发生了什么!我已经花了很多时间试图解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2012-08-20 14:02:08

CSS编辑:由于方法override_font已弃用,因此应使用此页面中所述的- https://developer.gnome.org/gtk3/stable/GtkWidget.html#gtk-widget-override-font

答案的其余部分将留作历史用途。

我不知道为什么那行不通。

下面是一种方法。

代码语言:javascript
复制
def set_global_styles(self, editor_widget):
    pango_context = editor_widget.create_pango_context()
    font_description = pango_context.get_font_description()
    increase = 14 #pt 14
    font_size = 1024*increase
    font_description.set_size(font_size)
    editor_widget.override_font(font_description)

到目前为止,我找到的最简单的方法就是。回答晚了,但迟了总比不到好。

以防万一一些资源的Pango和使用上述代码。我不确定Pango的所有文档是否都适用于gtk3,但它对我来说是有效的。

Pango context set font description

Pango font description

Pango fonts in gtk

Pango layout

GtkWidget inherited by text editors和其他对象。

票数 2
EN

Stack Overflow用户

发布于 2016-03-06 10:21:46

从这个mail中,我发现它运行时没有错误:

代码语言:javascript
复制
    from gi.repository import Pango

    ren = Gtk.CellRendererText()
    ren.set_property('alignment', Pango.Alignment.RIGHT)

虽然在我的代码中,这并没有使内容右对齐,但我的代码中可能有另一个错误。这里最重要的是,上面的代码似乎是对import pango和:pango.ALIGN_RIGHT等pygtk内容的翻译

这不是OP的完整答案,但希望更近一步。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8783670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档