我试图提示用户输入一串文本。python tkinter 是否有类似 Javascript 的提示?
6 回答
是的,使用tkSimpleDialog.askstring。不幸的是,这不在主要的 Python 文档中,所以有点难找。
尝试这个:
import tkinter
x = tkinter.tkSimpleDialog.askstring
在问题发布后我发现它的一种情况,由于我找不到答案,我会继续提出问题。
您可以使用tkSimpleDialog。
你可以问一个是/否的问题
from tkinter import *
answer = tkinter.messagebox.askquestion
Getting User Input With Entry Widgets
当您需要从用户那里获取一些文本(例如姓名或电子邮件地址)时,请使用 Entry 小部件。它们显示一个小文本框,用户可以在其中输入一些文本。创建 Entry 小部件并为其设置样式与 Label 和 Button 小部件的工作方式非常相似。例如,以下代码创建一个具有蓝色背景、一些黄色文本和 50 个文本单位宽度的小部件:
entry = tk.Entry(fg="yellow", bg="blue", width=50)
不过,关于 Entry 小部件的有趣之处不在于如何设置它们的样式。这是如何使用它们来获取用户的输入。您可以使用 Entry 小部件执行三个主要操作:
- 使用 .get() 检索文本
- 使用 .delete() 删除文本
- 使用 .insert() 插入文本
了解 Entry 小部件的最佳方式是创建一个小部件并与之交互。打开 Python shell 并按照本节中的示例进行操作。首先,导入 tkinter 并创建一个新窗口:
>>> import tkinter as tk
>>> window = tk.Tk()
现在创建一个标签和一个条目小部件:
>>> label = tk.Label(text="Name")
>>> entry = tk.Entry()
Label 描述了 Entry 小部件中应该包含的文本类型。它不会对条目强制执行任何类型的要求,但它会告诉用户您的程序希望他们放什么。您需要将小部件 .pack() 放入窗口中,以便它们可见:
>>> label.pack()
>>> entry.pack()
看起来是这样的: 预览
我想这就是你可能想要的
对于 python 2.7:
from Tkinter import *
root = Tk()
E = Entry(root)
E.pack()
root.mainloop()
对于蟒蛇 3:
from tkinter import *
root = Tk()
e = Entry(root)
e.pack()
root.mainloop()