【问题标题】:How to center align the text in a text entry box in PyGTK?如何在 PyGTK 的文本输入框中居中对齐文本?
【发布时间】:2014-12-22 02:22:49
【问题描述】:

我在 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() 一起使用。

我怎样才能使文本居中,这样当用户在那里键入时,他们写的任何文本总是居中显示?

【问题讨论】:

  • 我认为 vertical 在文本小部件中居中是通过 set_alignment(yalign=0.5) 在某些语言绑定中完成的。 entry.set_alignment(xalign = 0.5) 有效吗?
  • 是的,解决了!
  • 是任还是Stimpy曾经说过:“快乐快乐快乐快乐快乐快乐!!”。我会回答,也许你可以接受:-D

标签: pygtk text-alignment


【解决方案1】:

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

在您的情况下,entry.set_alignment(xalign = 0.5) 会将文本居中在小部件的中点并对齐,以便文本每一侧的比例为剩余空白的“0.5”(或一半)。它没有像"center" 这样的文档那么容易,但它对文本的位置提供了更细粒度的控制。

【讨论】:

    猜你喜欢
    • 2016-02-27
    • 2015-07-29
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多