2013-12-12 4 views
0

Я бы хотел, чтобы вторая кнопка «Ввод» позволила пользователю выйти из этого окна. Какая команда? Я считаю, что self.quit завершает все, но команда, которую я использовал, не работает.Как выйти из окна в tkinter без выхода из программы?

import tkinter as tk 

class Enter_Name_Window(tk.Toplevel): 
    '''A simple instruction window''' 
    def __init__(self, parent): 
     tk.Toplevel.__init__(self, parent) 
     self.text = tk.Label(self, width=40, height=2, text= "Please enter your name and class.") 
     self.text.pack(side="top", fill="both", expand=True) 

     enter_name = Entry(self) 
     enter_name.pack() 
     enter_name.focus_set() 


     def callback(): 
      self.display_name = tk.Label(self, width=40, height=2, text = "Now please enter your tutor group.") 
      self.display_name.pack(side="top", fill="both", expand=True) 
      tutor = Entry(self) 
      tutor.pack() 
      tutor.focus_set() 
      Enter_0.config(state="disabled") 

      Enter_0_2 = Button(self, text="Enter", width=10, command=Enter_Name_Window.quit) 
      Enter_0_2.pack() 

     Enter_0 = Button(self, text="Enter", width=10, command=callback) 
     Enter_0.pack() 
+0

Ваше форматирование кода перепутано, что затрудняет чтение кода. –

+0

Что вы подразумеваете под "quit from this window"? Вы спрашиваете, как уничтожить окно или просто скрыть его? –

ответ

1

Существовало много ошибок, чтобы начать с, и прежде всего:

command=Enter_Name_Window.quit 

должен быть

command=self.destroy 

Воздержитесь от использования метода quit() в его неустойчивом и передать экземпляр класса self вместо объекта нового класса

Где угодно e Ваш обновленный код:

class Enter_Name_Window(tk.Toplevel): 
    '''A simple instruction window''' 
    def __init__(self, parent): 
     tk.Toplevel.__init__(self, parent) 
     self.parent = parent 
     self.text = tk.Label(self.parent, width=40, height=2, text= "Please enter your name and class.") 
     self.text.pack(side="top", fill="both", expand=True) 

     enter_name = tk.Entry(self) 
     enter_name.pack() 
     enter_name.focus_set() 


     def callback(): 
      self.display_name = tk.Label(self.parent, width=40, height=2, text = "Now please enter your tutor group.") 
      self.display_name.pack(side="top", fill="both", expand=True) 
      tutor = tk.Entry(self.parent) 
      tutor.pack() 
      tutor.focus_set() 
      Enter_0.config(state="disabled") 

      Enter_0_2 = tk.Button(self.parent, text="Enter", width=10, command=self.destroy) 
      Enter_0_2.pack() 

     Enter_0 = tk.Button(self.parent, text="Enter", width=10, command=callback) 
     Enter_0.pack() 
Смежные вопросы