我正在尝试在CellRenderer中右对齐一些文本内容。通过几次搜索,我发现了两种方法,但这些方法都不起作用。使用粗体设置,您需要首先启用此功能,因此我猜我还需要启用对齐设置,但尚未找到如何执行此操作。这无一例外地运行:
r = Gtk.CellRendererText()
r.props.width_chars = 10
r.set_property('alignment', Pango.Alignment.RIGHT) # no effect
r.props.alignment = Pango.Alignment.RIGHT # no effect
r.props.weight_set = True # not really needed
r.props.weight = Pango.Weight.BOLD # works, output is bold
这是我从大胆的例子中猜到的,但不起作用:
r.props.alignment_set = True
错误是:'gi._gobject.GProps'对象没有属性'alignment_set'
看看这些参考文献,我在GProps上找不到任何东西:
这个资源确实说了一些关于对齐的内容,但我不清楚如何将这个C代码转换为Python / GObject:
我的问题是如何解决这个问题,这个PyGObject错误消息的参考手册在哪里,或者我应该如何编码右对齐?
更新: 我目前正在寻找this similar SO question的线索。
至于TingPing的评论,我看了the set_alignment() method,并尝试了这些:
r.set_alignment(Pango.Alignment.RIGHT) # error: set_alignment() takes exactly 3 arguments (2 given)
r.set_alignment(200, 0) # no error, no effect
除了这个方法似乎打算在左边创建一些像素填充,这不是我需要的:将文本对齐到单元格空间的右边。
更新
也许上面的代码很好,但也许CellRenderer()没有固有的宽度,没有多余的空间放在内容的左边。我想到了这一点,因为我只想用空格填充我的数字单元格内容。然后我需要决定最大字段长度。也许CellRenderer不知道默认的字段长度。我为.props.width_chars
添加了一个settinge,但不幸的是,这并没有导致任何严格的对齐。
答案 0 :(得分:0)