首页 > 解决方案 > Python 2 中的 simpledialog 模块中的属性错误

问题描述

我必须使用 Python 2(不是 Python 3)中的 tkinter 模块创建包含文本字段的弹出对话框。我的其他程序有许多 Python2 模块(我已经用 Python 2 编写了整个代码),所以我不能使用 Python 3。这是我的代码,它在 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 中实现此功能的任何替代方案。谢谢

标签: python-2.7tkintertextboxpopup

解决方案


只是改变

from tkinter import simpledialog
from tkinter import *

import tkSimpleDialog as simpledialog
from Tkinter import *

推荐阅读