Ошибка атрибута в модуле simpledialog в Python 2 - PullRequest
0 голосов
/ 18 июня 2019

Мне нужно создать всплывающее диалоговое окно, которое содержит текстовое поле, используя модуль tkinter в Python 2 (не Python 3). Моя другая программа имеет много модулей 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. Спасибо

1 Ответ

0 голосов
/ 18 июня 2019

Просто изменить

from tkinter import simpledialog
from tkinter import *

до

import tkSimpleDialog as simpledialog
from Tkinter import *
...