如何使用 tkinter 创建多行条目?
Posted
技术标签:
【中文标题】如何使用 tkinter 创建多行条目?【英文标题】:How to create a multiline entry with tkinter? 【发布时间】:2012-03-28 13:04:23 【问题描述】:Entry
小部件似乎只处理单行文本。我需要一个多行输入字段来输入电子邮件。
有人知道怎么做吗?
【问题讨论】:
【参考方案1】:只需使用Text()
小部件。
例如:
import tkinter as tk
root = tk.Tk()
text = tk.Text(root)
text.pack()
root.mainloop()
输出:
【讨论】:
【参考方案2】:您可以使用Text 小部件:
from tkinter import *
root = Tk()
text = Text(root)
text.pack()
root.mainloop()
或者滚动条使用ScrolledText:
from tkinter import *
from tkinter.scrolledtext import ScrolledText
root = Tk()
ScrolledText(root).pack()
root.mainloop()
【讨论】:
我强烈建议不从 Tkinter 导入所有内容。 IMO 你应该使用import Tkinter as tk; tk.Tk()...
。它使您的代码更具自我记录性,并且不会因导入具有与 Tkinter 小部件同名的函数的其他库而引起的问题(例如,ttk 和 tk 都有名为 Button
的类)
@BryanOakley 我完全同意并承认我的回答是仓促完成的。感谢您的编辑。我尚未更新代码,因此您的评论将有效,但如果您认为值得,我很乐意这样做。
有没有办法使用可样式化的小部件来实现相同的结果? Text
小部件似乎在 ttk 中不可用。
@Zephir 您始终可以同时导入两者,例如:from tkinter import *, from tkinter import ttk
,因为 * 默认情况下不包括 ttk。以上是关于如何使用 tkinter 创建多行条目?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Python 3.8 中的按钮读取 Tkinter 中的条目
如何将捕获的输入从 tkinter 条目小部件写入 json 文件