【问题标题】:How to make Tkinter.Label justify correctly如何使 Tkinter.Label 正确证明
【发布时间】:2016-02-13 01:17:31
【问题描述】:

我在获取标签内的文本以在 Tkinter 中左对齐时遇到问题。我曾尝试使用 justify=Tkconstants.LEFT 但这似乎不起作用。我也尝试过 anchor=Tkcontants.W 但这似乎也无济于事。文本始终出现在标签的中心。以下是我对标签的看法:

LookupOutput = Tkinter.Label(UI,textvariable=User,justify=Tkconstants.LEFT)
LookupOutput.grid(row=5, column=0, columnspan=5, padx=5)

我认为这与我的列跨度有关,但我不知道如何解决它。有没有人知道如何让这个东西左对齐文本?

【问题讨论】:

  • “用户”文本变量只是一个以空格分隔的字符串列表,如果有帮助的话,没有换行符。
  • 如果没有其余代码,我不确定您的问题究竟来自哪里,但是如果您在 .grid( ... ) 参数中添加 sticky = W 会发生什么?

标签: python-2.7 tkinter


【解决方案1】:

使标签中的文本与小部件左侧对齐的正确方法是使用anchor 属性。 "w" 的值(或使用 Tkinter 常量 W)代表“西”。

LookupOutput = Tkinter.Label(UI,textvariable=User,anchor=Tkconstants.W)

justify 属性只影响换行的文本。

如果这不起作用,则问题可能与标签中的文本无关。可能是您的标签没有占据您认为的空间。检查这一点的一种简单方法是为标签提供独特的背景颜色,以便您可以将标签与其父标签区分开来。

我注意到您在调用grid 时没有使用sticky 属性——这也可能导致问题。默认情况下,网格将在分配给它的空间的中心对齐一个小部件。如果您希望它“粘”在分配给它的空间的左侧,请使用sticky="w"(或者,再次使用 Tkinter 常量)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 2013-06-23
    • 2013-03-11
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多