如何在PyGTK的文本输入框中居中对齐文本?

时间:2014-12-18 23:10:22

标签: pygtk text-alignment

我在PyGTK中创建了一个用于文本输入的1行框:

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_justifyset_alignment等,但似乎没有选项与Entry()一起使用。

如何使文本居中,以便当用户在那里输入时,他们所写的任何文字总是以中心显示?

1 个答案:

答案 0 :(得分:2)

在某些GTK语言绑定中,文本小部件内的垂直居中设置为set_alignment(yalign=0.5),其中数字表示文本上方“保留”的空白比例,其余部分位于下方(我可能在上面和以下颠倒了)。因此,set_alignment(yalign=0.25)会将文本的1/4放在小部件的顶部以下,而0.5是“中途”(这或多或少等同于“中心”)。

在您的情况下,entry.set_alignment(xalign = 0.5)会将文本居中放置在窗口小部件的中间位置并对齐,以使文本每一侧的比例为“0.5”(或一半)剩下的白色空间。它不像"center"那样记录良好或简单,但它对文本的位置提供了更细粒度的控制。