2016-08-08 1 views
0

Я пытаюсь сделать экран стиля входа в систему и иметь фрейм за поднятым, если пароль совпадает, я получаю ошибку AttributeError: 'str' object has no attribute 'get' при запуске моей программы:AttributeError: объект 'str' не имеет атрибута 'get' error в коде

class StartPage(tk.Frame): 
    entry = "placeholder" 
    def framechange(self): 
     if self.entry.get() == "password": 
      command = lambda: controller.show_frame("PageOne") 
    def __init__(self, parent, controller): 
     tk.Frame.__init__(self, parent) 
     self.controller = controller 
     label = tk.Label(self, text="Welcome", font=TITLE_FONT) 
     label.pack(side="top", fill="x", pady=10) 
     entry = tk.Entry(self, show="•") 
     entry.pack(side="top", fill="x", pady=10, padx=10) 
     button1 = tk.Button(self, text="Login",command = self.framechange) 
     button1.pack() 

Большое спасибо

ответ

0

Там нет get() запросов вызываются из внутри класса. Кроме того, вам не хватает self во входном высказывании:

Try:

class StartPage(tk.Frame): 
    entry = "placeholder" 
    def framechange(self): 
     if self.entry == "password": # Changed 
      command = lambda: controller.show_frame("PageOne") 
    def __init__(self, parent, controller): 
     tk.Frame.__init__(self, parent) 
     self.controller = controller 
     label = tk.Label(self, text="Welcome", font=TITLE_FONT) 
     label.pack(side="top", fill="x", pady=10) 
     self.entry = tk.Entry(self, show="•") # Changed 
     self.entry.pack(side="top", fill="x", pady=10, padx=10) # Changed 
     button1 = tk.Button(self, text="Login",command = self.framechange) 
     button1.pack() 
+0

Это не делает ничего, при нажатии на кнопке Логина, я думаю, что это происходит потому, что нет ничего, беря информацию из поля ввода для команда в кнопке 1 – BadUserName

+0

@ user217591 Не знал, что вы забыли 'self'. –

 Смежные вопросы

  • Нет связанных вопросов^_^