python-2.7 - 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 中实现此功能的任何替代方案。谢谢
解决方案
只是改变
from tkinter import simpledialog
from tkinter import *
至
import tkSimpleDialog as simpledialog
from Tkinter import *
推荐阅读
- excel - 在 VBA 中使用带有通配符的 VLOOKUP
- javascript - 取消选中单选按钮后如何更改课程
- google-apps-script - 无法更新 Google 表格插件
- javascript - JS - 每次我尝试注册用户时,获取 api 都会多次调用自身,除了第一次
- arrays - 如何在 Typescript 中声明变量类型的数组?
- sql - 在 SQL 视图中将多行合并为单行(没有分组依据或使用 CTE?)
- c++ - 为什么我在 OpenGL 中的对象旋转方向与使用四元数的预期相反?
- angular - 如何正确输出详细帖子的模板?
- gradle - Intellij 使用离线模式构建 gradle 项目 jar
- python - PyTorch中点操作导致的层权重