在 Tkinter 中设置输入文本框大小 python

Setting entry text box size in Tkinter python

我正在尝试创建一个表单,该表单要求某些输入选项的长度超过一行。使用 .Entry() 函数似乎不可能。

这个问题是我在文档中没有看到如何限制文本输入框的大小(特别是行数或高度)

需要说明的是,我不是要设置放置高度或文本大小,我是要限制可以输入文本的行数(因此表单的大小是可预测的)这是必要的,因为对于我使用 .place() 将它们放在特定像素位置的每个项目,因此 .pack() 也不是解决我的问题的可行方法

一些参考 material:

Documentation for entry widget

改用text widget。它有一个高度选项

注意:place 需要代表像素的整数,但是,在文本框的选项中,width 选项需要代表字符数的整数,height 选项需要代表行数的整数。如果您尝试使用 height=20 期望 20 像素,您会感到不愉快。如果你用width = 5, height = 5 就不是正方形了

作为参考,默认文本大小和字体在文本小部件中平均每个字符宽 8 像素,在条目小部件中默认每个字符宽 6 像素,因此如果您希望表单拉伸一定数量的像素,使用 width = round(pixel_length /6)

您可以将其与屏幕宽度和表单角的位置结合起来,以填充整个页面或接近末尾(如果您愿意)