标签文本使用pango标记时无法设置标签对齐

时间:2012-03-27 21:00:27

标签: python pygtk

我想要一个左对齐的标签,里面有一些粗体文字,但是使用下面的代码(没有返回任何错误),没有设置理由......有人知道吗? (python2.7,gtk2.24)

label=gtk.Label("<b>"+text+"</b>")
label.set_use_markup(True)
label.set_justify(gtk.JUSTIFY_LEFT)

提前致谢!

2 个答案:

答案 0 :(得分:4)

PyGTK documentation of gtk.Label.set_justify() says

  

如果要将标签的对齐方式设置为整体,请改用gtk.Misc.set_alignment()方法。 set_justify()对仅包含一行的标签没有影响。

点击the gtk.Misc.set_alignment() documentation链接后,会显示如何正确执行您要求的内容(如果我正确解释您的问题):

import gtk

w = gtk.Window()
w.connect('destroy', gtk.main_quit)
text = 'whatever'
label=gtk.Label("<b>"+text+"</b>")
label.set_use_markup(True)
label.set_alignment(0, 0.5)
w.add(label)

w.show_all()

gtk.main()

答案 1 :(得分:0)

我不是GTK开发人员,但我做了一些快速搜索。我想知道gtk.JUSTIFY_LEFT是否应该是GTK_JUSTIFY_LEFT

参考:http://developer.gnome.org/gtk/2.24/gtk-Standard-Enumerations.html#GtkJustification

typedef enum {
  GTK_JUSTIFY_LEFT,
  GTK_JUSTIFY_RIGHT,
  GTK_JUSTIFY_CENTER,
  GTK_JUSTIFY_FILL
} GtkJustification;