2014-12-18 74 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"那样容易,但它对文本的位置进行了更精细的控制。