【问题标题】:How to create a multiline entry with tkinter?如何使用 tkinter 创建多行条目?
【发布时间】:2012-03-28 13:04:23
【问题描述】:

Entry 小部件似乎只处理单行文本。我需要一个多行输入字段来输入电子邮件。

有人知道怎么做吗?

【问题讨论】:

    标签: python input tkinter multiline


    【解决方案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。
      猜你喜欢
      • 2021-05-25
      • 2022-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-16
      • 2021-12-02
      相关资源
      最近更新 更多