如何使用Tkinter接受用户输入?

时间:2017-06-20 18:39:07

标签: python python-2.7 tkinter

我目前正在尝试使用Platypus将我经常使用的Python脚本转换为应用程序。但是,我的脚本会多次提示用户输入,并使用该输入构造用于发出API请求的URL。以下是我的脚本中如何使用它的示例:

member_id = raw_input("What member id will you be using? ")

然后使用从用户获取的数据(并存储为变量),如下所示:

url_member = "https://api.example.com/member?member_id="+str(member_id)

由于使用Platypus创建的应用程序不允许用户输入(基于我通过我的脚本请求它的方式),我也将尝试使用Tkinter。但是,我已经阅读了文档并且在语法方面感到困惑(我仍然是Python的新手)。

任何人都可以帮助,或者展示一个如何使用Tkinter更改我的用户输入请求(基于我上面的示例)以便应用程序可以运行的示例吗?

我也在使用Python 2.7。

1 个答案:

答案 0 :(得分:2)

您可以使用entry窗口小部件将用户输入作为变量。

用户可以输入ID,然后点击提交按钮。此按钮可以绑定到一个函数,该函数将执行您在此处所需的任何操作。

import tkinter as tk # Python 3 import
# import Tkinter as tk # Python 2 import


root = tk.Tk()

def my_function():
    current_id = my_entry.get()
    url_member = "https://api.example.com/member?member_id="+str(current_id)
    print(url_member)
    #do stuff with url_member

my_label = tk.Label(root, text = "Meber ID# ")
my_label.grid(row = 0, column = 0)
my_entry = tk.Entry(root)
my_entry.grid(row = 0, column = 1)

my_button = tk.Button(root, text = "Submit", command = my_function)
my_button.grid(row = 1, column = 1)

root.mainloop()