插入后的Tkinter条目文本对齐

时间:2017-01-14 15:58:32

标签: python tkinter widget tkinter-entry

使用Python 2.6.1或2.7.9 Tkinter的Entry小部件entry.insert似乎破坏左对齐。如何让文本保持左对齐?具体来说,在entry.get()提供我在窗口小部件中输入的内容之后,我会在开头自动插入其他文本并重新显示它。当重新显示时,理由〜有时〜改变。

具体来说,当我输入一个不超过20个字符的字符串并且entry.insert使其更长时,一切都正常,条目小部件右侧的一些字符串不可见。当我输入一个包含21个字符或更多字符的字符串并且entry.insert使其更长时,它会显示 由于右对齐所以只有字符串的末尾是可见的,并且“谢谢你”从未在左侧看到过。

为什么会发生这种情况,如何让它停止?我考虑过Entry Widget Justification - text longer than widget,但在他的情况下,OP没有插入,模糊的问题没有得到一个好的答案。

Enter小部件的默认显示文本大小为20个字符,但是对于我指定的条目宽度,会出现相同的现象。现象也发生在Raspberry Pi 3和Mac OSX上。

calendarId

2 个答案:

答案 0 :(得分:1)

文本对齐仅适用于尺寸不足的文本字符串。如果文本字符串长于Entry宽度,则justify不执行任何操作,您必须使用xview。

我的期望是基于Word和Excel如何显示合理的文本,但这不是Tkinter在Entry小部件中显示文本的方式。

答案 1 :(得分:0)

我并不完全明白你在问什么,但听起来你只需要在插入&#34之后滚动条目小部件的内容。谢谢你"这样就可以看到位置0(零)的字符。

entry.insert(0,"THANK YOU ")
entry.xview(0)