Python Tkinter提示框

10

我正在尝试提示用户输入一段文本。在Python tkinter中是否有类似于JavaScript的提示框可用?

我想要提示用户输入一段文本,是否在Python tkinter中提供了类似于JavaScript的提示框?
6个回答

15

是的,使用 tkSimpleDialog.askstring

tkSimpleDialog.askstring(title, prompt [,options])

很不幸,这并没有出现在 Python 官方文档中,所以有点难以找到。


7
对于Python 3: from tkinter import simpledialog; answer = simpledialog.askstring(title, prompt) - b_c
3
@b_c是正确的,要记住,在他的示例中,“prompt”代表Tk()实例。 - JoDev
2
在提供链接回答时,最好也包括来自链接网站的相关信息,以防链接失效,因为这种情况经常发生。 - Mike - SMT
注意:对于Python 3.x,应使用tkinter.simpledialog.askstring(title, prompt, **kw)。请参阅官方文档 - wovano

5

试试这个:

import tkinter
x = tkinter.tkSimpleDialog.askstring

1

你可以用以下方式提出一个是/否问题:

from tkinter import *
answer = tkinter.messagebox.askquestion

1

这是我在发布问题后才发现的情况,由于我很难找到答案,所以我会保留这个问题。

您可以使用tkSimpleDialog


Nicholas Riley提供了一个带有可用链接的更好的答案。由于它不再提供任何额外信息,我很可能会很快删除这个答案。 - MitMaro
在仅提供链接回答时,最好也包括来自链接站点的相关信息,以防链接经常中断。在这种情况下,你的链接无法使用。 - Mike - SMT

0
Getting User Input With Entry Widgets

当您需要从用户获取一些文本,例如姓名或电子邮件地址时,请使用输入小部件。它们显示一个小文本框,用户可以在其中输入一些文本。创建和设置输入小部件的样式与标签和按钮小部件几乎完全相同。例如,以下代码创建了一个具有蓝色背景、一些黄色文本和50个文本单位宽度的小部件:

entry = tk.Entry(fg="yellow", bg="blue", width=50)

关于Entry小部件的有趣之处并不在于如何对其进行样式设置,而是如何使用它们来获取用户输入。您可以使用Entry小部件执行三个主要操作:

  1. 使用.get()检索文本
  2. 使用.delete()删除文本
  3. 使用.insert()插入文本

了解Entry小部件的最佳方法是创建一个并与之交互。打开Python shell并按照本节中的示例进行操作。首先,导入tkinter并创建一个新窗口:

>>> import tkinter as tk
>>> window = tk.Tk()

现在创建一个标签(Label)和一个输入框(Entry)小部件:
>>> label = tk.Label(text="Name")
>>> entry = tk.Entry()
>>> label.pack()
>>> entry.pack()

这是它的样子: 预览

我无法在我的Mac上(Monterey,M1)重现这个窗口。 - Stefano

-2

我认为这可能是你想要的

对于Python 2.7:

from Tkinter import *
root = Tk()
E = Entry(root)
E.pack()
root.mainloop()

对于 Python 3:

from tkinter import *
root = Tk()
e = Entry(root)
e.pack()
root.mainloop()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接