【问题标题】:Taking input from the user in Tkinter在 Tkinter 中接受用户的输入
【发布时间】:2013-03-19 09:22:57
【问题描述】:

目标

  1. 给用户一个文本字段。
  2. 将他在该字段中输入的文本按到外壳下方的按钮后打印出来。

使用 Tkinter 怎么可能?

规格 Linux Mint 14 上的 Python 2.7

【问题讨论】:

    标签: python tkinter


    【解决方案1】:

    我们将使用Entry 小部件从用户那里获取文本。然后我们将定义一个函数,从这个小部件中提取文本并在 shell 中打印出来。

    def printtext():
        global e
        string = e.get() 
        print string   
    
    from Tkinter import *
    root = Tk()
    
    root.title('Name')
    
    e = Entry(root)
    e.pack()
    e.focus_set()
    
    b = Button(root,text='okay',command=printtext)
    b.pack(side='bottom')
    root.mainloop()
    

    首先创建窗口实例。然后打包一个Entry 小部件。之后,另一个按钮小部件也被打包。 focus_set 方法确保在运行时键盘焦点位于文本字段上。当按下按钮时,它将转到使用get 方法从Entry 小部件中提取文本的函数。

    您可以在此处找到有关 Entry 小部件及其方法的更多信息:

    Entry Widget

    【讨论】:

    • 你为什么要声明global e?由于e 是在函数外部定义的,所以它已经是全局的了,对吧?
    • @Hartnäckig Aah, this.
    【解决方案2】:
    from tkinter import *
    
    root = Tk()
    root.title("lol")
    root.geometry("400x400")
    
    input = Entry(root)
    input.pack()
    
    root.mainloop()
    

    【讨论】:

    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助,质量也更好。另请查看help center 以获取有关如何格式化代码的信息。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    相关资源
    最近更新 更多