Python 2中的simpledialog模块中的属性错误

时间:2019-06-18 06:22:26

标签: python-2.7 tkinter textbox popup

我必须使用Python 2(而非Python 3)中的tkinter模块创建一个包含文本字段的弹出对话框。我的其他程序有很多Python2模块(我已经用Python 2编写了完整的代码),所以我不能使用Python3。这是我的代码,在Python 3中工作正常,但在Python 2中却行不通。

from tkinter import simpledialog
from tkinter import *
def s():
 print(simpledialog.askstring("hai","inp"))

root = Tk()
b = Button(root, text="popup",command=s)
b.pack()

root.geometry("400x400")
root.mainloop()

这是错误:

Exception in Tkinter callback
Traceback (most recent call last):
  File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 1550, in __call__
    return self.func(*args)
  File "popup.py", line 4, in s
    print(simpledialog.askstring("hai","inp"))
AttributeError: 'module' object has no attribute 'askstring'

请提及在Python 2中实现此功能的所有替代方法。 谢谢

1 个答案:

答案 0 :(得分:0)

只是改变

from tkinter import simpledialog
from tkinter import *

import tkSimpleDialog as simpledialog
from Tkinter import *