TKinter属性Simpledialog错误

时间:2019-04-08 15:05:44

标签: python tkinter python-3.6

我目前正在尝试使用Python 3.6中的tkinter模块(通过Spyder)在一些基本的用户输入框中编写内容。我可以确认模块已加载,并且出现了选择简单对话框的选项,但是我不断收到以下错误:

AttributeError:模块'tkinter'没有属性'simpledialog'

Image of tkinter simpledialog

我尝试寻找其他选项,但是其他用户输入选项似乎在我的Python界面上不起作用。它要么崩溃,要么数据结构不正确。

有趣的是,过去,我在Python中做过类似的事情,没有错误,但这一直伴随着这个特殊的编程工作。

import tkinter as tk
import pyodbc as py
py.pooling = False

## INPUT YOUR USER ID AND PASSWORD AND DECLARE YOUR CONNECTION
## THE DIALOG BOXES MAY POP OPEN ON ANOTHER SCREEN
## THE PASSWORD INPUT IS MASKED AND WILL NOT SHOW IN THE
## VARIABLE EXPLORER

ID = tk.simpledialog.askstring("Please input your username.","Username: ")
PW = tk.simpledialog.askstring("Please input your password.",
                               "Password: ", show='*')
CONN = tk.simpledialog.askstring("Please input your connection.",
                                 "Connection: ")

我的预期结果是将出现一个弹出窗口,并且我将能够获取所需的用户信息,以维持与所使用服务器的稳定连接。

预先感谢您的建议!

1 个答案:

答案 0 :(得分:1)

simpledialog不在tkinter中,而在tkinter.simpledialog中,您必须将其导入

import tkinter as tk
import tkinter.simpledialog

root = tk.Tk() # create main window
#root.iconify() # minimize main window 
root.withdraw() # hide main window 

answer = tkinter.simpledialog.askstring("Question", 'Your name:')
print(answer)

#root.destroy()  # should work without it
#root.mainloop() # should work without it

请参见tkinter modules