Tkinter Entry控件无法输入多行,如何实现多段落文本输入功能?
问题原因
Tkinter 自带的 Entry 控件原生仅支持单行文本输入,无论如何通过布局参数放大控件尺寸,都不会支持多行输入、自动换行的效果,这是控件本身的功能定位决定的,和布局参数设置无关。
解决方案
改用 Tkinter 专门用于多行文本输入的 Text 控件即可实现你的需求,你可以直接通过控件的width和height参数设置尺寸,也可以配合布局参数调整大小,示例代码如下:
import tkinter as tk root = tk.Tk() # 创建Text控件,width为字符宽度,height为显示行数 text = tk.Text(root, width=70, height=15) # 也可以用grid布局的ipadx/ipady调整内边距 text.grid(row=0, column=0, padx=10, pady=10) root.mainloop()
如果需要获取Text控件的输入内容,可以用以下代码:content = text.get("1.0", tk.END)
其中"1.0"表示从第1行第0个字符开始读取,tk.END表示读到文本末尾。
内容的提问来源于stack exchange,提问作者bewop
相关产品推荐
相关产品推荐

