打開換行時,gtk.Label無法在中心對齊。示例代碼:多行gtk.Label忽略xalign = 0.5
import pygtk
pygtk.require('2.0')
import gtk
class testwin(gtk.Window):
def __init__(self):
gtk.Window.__init__(self)
width,height = 300,300
self.set_size_request(width,height)
self.set_position(gtk.WIN_POS_CENTER)
self.set_title("test window")
label = gtk.Label("test text")
label.set_line_wrap(True)
label.set_justify(gtk.JUSTIFY_CENTER)
label.set_alignment(0.5,0.5)
label.connect("size-allocate",lambda l,s: l.set_size_request(s.width-1, -1))
self.add(label)
self.connect("destroy", gtk.main_quit)
self.show_all()
testwin()
gtk.main()
它看起來像這樣,這意味着,它的左對齊:http://m45.img-up.net/?up=pic122x97.png
如果您註釋掉線14(set_line_wrap)一切都完美的罰款:http://o54.img-up.net/?up=pic2y00p9.png
請注意,yalign工作正常。因此,當打開換行時,似乎gtk.Misc.set_alignment-function中的第一個參數不起作用。
使用的Fedora 16位,64位,GTK 3.2.4,PyGTK的2.24.0,蟒蛇2.7.2
問:這是有意或一個錯誤?它應該如何制定或者是一種解決方法?
順便說一句,行爲與set_size_request有某種關係。但我需要這條線,因爲在我的用例中,包裝應該適應窗口大小調整。 – thomas 2012-04-07 16:48:00
這發生在GTK + 2.24(C)上。 – 2014-12-24 13:34:04