Создание всплывающего окна сообщения с полем ввода

Я хочу создать всплывающее окно сообщения, которое предлагает пользователю ввести ввод. У меня есть этот метод внутри класса. Я основываю свой код на этом руководстве от java2s.

class MyDialog:
    def __init__(self, parent):
        top = self.top = Toplevel(parent)

        Label(top, text="Value").pack()

        self.e = Entry(top)
        self.e.pack(padx=5)

        b = Button(top, text="OK", command=self.ok)
        b.pack(pady=5)

    def ok(self):
        print "value is", self.e.get()
        self.top.destroy()

root = Tk()
d = MyDialog(root)

root.wait_window(d.top)

Но в данном случае top = self.top = Toplevel(parent)у меня не работает.

У меня есть макет того, что я пытаюсь выполнить.

GUI mockup

Структура моей программы выглядит примерно так:

class MainUI:
   def__int__(self):
       ...
       self.initUI()

   def initUI(self):
       .......
       Popup = Button(self, text="Enter Value", command=self.showPopup)

   def showPopup(self):
       #create the popup with an Entry here

Как я могу создать окно сообщения в Python, которое принимает пользовательский ввод?

8
задан Stevoisiak supports Monica 14 November 2017 в 17:18
поделиться