我想要一個左對齊的標籤,其中包含一些粗體文本,但使用下面的代碼(不返回任何錯誤)未設置對齊方式...已任何人都有線索? (python2.7,gtk2.24)標籤文本使用pango標記時無法設置標籤對齊
label=gtk.Label("<b>"+text+"</b>")
label.set_use_markup(True)
label.set_justify(gtk.JUSTIFY_LEFT)
在此先感謝!
我想要一個左對齊的標籤,其中包含一些粗體文本,但使用下面的代碼(不返回任何錯誤)未設置對齊方式...已任何人都有線索? (python2.7,gtk2.24)標籤文本使用pango標記時無法設置標籤對齊
label=gtk.Label("<b>"+text+"</b>")
label.set_use_markup(True)
label.set_justify(gtk.JUSTIFY_LEFT)
在此先感謝!
的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()
我不是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;
您鏈接到C手動,但問題是關於Python的綁定。 'gtk.JUSTIFY_LEFT'是正確的(語法,至少......它在問題中使用錯誤了)。 – dumbmatter 2012-03-28 02:27:11
'.set_alignment(0,0.5)' - 不錯 – YumYumYum 2013-11-11 17:11:51
很高興在信息叢林中找到這樣一個簡單,清晰和完美的工作答案:) – 2015-06-26 17:53:09
問題是PyGTK,但如果任何人現在發現這一點,並正在使用(更新)** PyGObject **綁定也可以在標籤上使用'set_xalign()'。參考:http://lazka.github.io/pgi-docs/#Gtk-3.0/classes/Label.html#Gtk.Label.set_xalign – sunyata 2016-10-13 00:05:22