2014-12-18 52 views
1

我在PyGTK中創建了文本輸入1-線箱:如何在PyGTK的文本輸入框中居中對齊文本?

entry = gtk.Entry(max=0) 
entry.set_has_frame(True) 
entry.set_size_request(20, 30) 
entry.connect("activate", self.enter_callback, entry) 
entry.show() 

我需要將文本水平居中。我嘗試了很多選項,例如set_justify,set_alignment等,但似乎沒有與Entry()一起使用。

我該如何居中文本,以便當用戶在那裏鍵入時,他們編寫的任何文本始終顯示爲居中?

+0

我認爲***垂直***居中在一個文本小部件是用'set_alignment(yalign = 0.5)'在一些語言綁定中完成的。 'entry.set_alignment(xalign = 0.5)'工作嗎? – 2014-12-21 07:18:38

+0

是的,解決了它! – Village 2014-12-21 10:11:31

+0

曾經說過:「快樂快樂快樂快樂快樂!!」是否是任性還是Stimpy?我會回答,也許你可以接受:-D – 2014-12-21 18:14:37

回答

2

在一些GTK語言綁定中,垂直居中在文本窗口小部件內部設置爲set_alignment(yalign=0.5),其中數字表示文本上方「保留」的白色空間的比例,其餘比例低於此值(我可能會在此處反轉上方和下方) )。因此,set_alignment(yalign=0.25)會將文本的四分之一部分放置在窗口小部件的頂部以下,0.5是「中途」(大致等同於「中心」)。

在你的情況下,entry.set_alignment(xalign = 0.5)會將文本居中在小部件的中間點並對齊,以便文本每一邊的比例是剩餘空白的「0.5」(或一半)。它沒有很好的文檔記錄或像"center"那樣容易,但它對文本的位置進行了更精細的控制。