2013-11-20 4 views
0

Каждый раз, когда я запускаю следующий код, я получаю сообщение об ошибке, может ли кто-нибудь помочь? В коде могут быть другие ошибки, пожалуйста, помогите мне исправить их.Проблема с графическим интерфейсом

from tkinter import * 

class Custom_Button(): 

    users = [("bobbymartin", "*****"), ("goodday", "*****")] 

    def sign_in(): 
     for(username, password) in users: 
      if ent_username.get() == username and password: 
       print("Login Successful") 

    def Display(Label, Entry, Button, sys): 

     root = Tk() 
     root.title("Binary Suite") 
     lab_username = Label(root, text="Username") 
     lab_username.grid(row=0, column=0) 
     lab_password = Label(root, text="Password") 
     lab_password.grid(row=0, column=0) 
     ent_username = Entry(root) 
     ent_username.grid(row=0, column=1) 
     ent_password = Entry(root) 
     ent_password.grid(row=0, column=1) 
     but_signin = Button(root, text="Sign In", command=sign_in) 
     but_signin.pack(side=LEFT) 
     but_quit = Button(root, text="Quit", command=sys.quit) 
     but_quit.pack(side=RIGHT) 

     root.mainloop() 

    Display(Label, Entry, Button, sys) 

Custom_Button() 

Вот ошибка, которую я получаю.

Traceback (most recent call last): 
    File "C:\Users\...\Custom Widgets.py", line 3, in <module> 
    class Custom_Button(): 
    File "C:\Users\...\Custom Widgets.py", line 31, in Custom_Button 
    Display(Label, Entry, Button, sys) 
    File "C:\Users\...\Custom Widgets.py", line 24, in Display 
    but_signin = Button(root, text="Sign In", command=sign_in) 
NameError: global name 'sign_in' is not defined 

Edit: Удалены пароли из списка

ответ

1

sign_in не определен. Поскольку это определение класса, вам нужно использовать self.sign_in

+0

Когда я пытаюсь использовать self EX: def Display (..., self), он говорит self undefined.: [ –

+1

@LaneSurface: 'self' должен быть первый аргумент как 'sign_in', так и' Display'. Хотя проблемы вашего кода немного глубже, чем это. Вероятно, вам следует начать с учебника о том, как использовать классы python. –

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