Python tkinter simpledialog

问题描述 投票:0回答:2

我有一个 Python 脚本,它使用 tkinter 库生成一个 GUI 窗口。我想让它的一些按钮显示一个提示 - 小窗口询问用户一些数字(类似于 JavaScript 中的东西)。我尝试了以下命令:

x = tkinter.simpledialog.askstring

但它返回一个错误:

NameError: name 'tkinter' is not defined

并且没有生成任何提示,尽管我已经在脚本的开头导入了库:

from tkinter import *
from tkinter import simpledialog

主窗口中的其他元素(按钮、标签等)正常工作。请帮忙。

python tkinter nameerror simpledialog
2个回答
3
投票

askstring
tkinter.simpledialog
的一部分,所以你可以像这样导入它

from tkinter.simpledialog import askstring

使用示例

import tkinter as tk
from tkinter.simpledialog import askstring
root = tk.Tk()
x = askstring("Title", "Prompt")
print(x)
root.mainloop()

0
投票
from tkinter import simpledialog

您将简单对话框导入到您的模块中,这意味着您不需要前缀:

tkinter.

既然你已经安装了简单的对话框。 你可以这样做:

from tkinter import simpledialog
input = simpledialog.askstring("Title of Window", "Question")
# You don't need the Tk window if you don't want it; simple dialog will create a second window to ask the question.
© www.soinside.com 2019 - 2024. All rights reserved.