如何解决如何设置“文本”小部件的最大字符宽度?
| 我注意到Tkinter Text小部件的width参数是字符。 是否可以为文本窗口小部件设置字符的最大宽度?解决方法
您可以通过绑定到
Key
,KeyPress
或KeyRelease
事件来做到这一点。但是我见过的每一个实现都是片状的。如果可以使用an3ѭ小部件而不是Text
小部件,请查看“验证条目”小部件。
似乎使用起来非常简单(为简便起见,我不包括ValidatingEntry
和MaxLengthEntry
类):
from Tkinter import *
root = Tk()
entry = MaxLengthEntry(root,maxlength=10)
entry.pack(side=LEFT)
root.mainloop()
, 小部件不直接支持您要执行的操作。您可以使用一些技巧来达到目标。例如,您可以将“ 8”属性设置为在单词或字符边界处换行,然后确保小部件的宽度不得超过80个字符(这需要适当使用pack / grid / place选项)。
这种技术对于固定宽度的字体会很好,但是对于可变宽度的字体,它并不总是以80个字符换行。这是因为当您将宽度设置为80个字符时,实际上是根据平均字符宽度的80倍(具体来说,我上次检查为0(零)字符)将其设置为特定的像素宽度。
当然,您始终可以通过监视文本的插入和删除并亲自处理换行来强制将换行符换成80个字符,但这通常比值得付出的工作还要多。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。