2017-09-18 4 views
-3

Der Code ist für eine GUI-Anwendung, die eine Login-Seite hatMeine gui app funktioniert nicht coorectly

from tkinter import * 
import tkinter.messagebox as tm 
import restaurant_management_system 


class LoginFrame(Frame): 
    def __init__(self, master): 
     super().__init__(master) 

     self.label_1 = Label(self, text="Username") 
     self.label_2 = Label(self, text="Password") 

     self.entry_1 = Entry(self) 
     self.entry_2 = Entry(self, show="*") 

     self.label_1.grid(row=0, sticky=E) 
     self.label_2.grid(row=1, sticky=E) 
     self.entry_1.grid(row=0, column=1) 
     self.entry_2.grid(row=1, column=1) 

     self.checkbox = Checkbutton(self, text="Keep me logged in") 
     self.checkbox.grid(columnspan=2) 

     self.logbtn = Button(self, text="Login", command = self._login_btn_clickked) 
     self.logbtn.grid(columnspan=2) 

     self.pack() 

    def _login_btn_clickked(self): 
     #print("Clicked") 
     username = self.entry_1.get() 
     password = self.entry_2.get() 

     #print(username, password) 

     if username == "john" and password == "password": 
      tm.showinfo("Login info", "Welcome John") 
     else: 
      tm.showerror("Login error", "Incorrect username") 

root = Tk() 
lf = LoginFrame(root) 
root.mainloop() 

ich eine andere py-Datei importiert haben, aber ich weiß nicht, wie es laufen, wenn der Benutzer Login erfolgreich .

+3

„nicht richtig“ ist nicht eine gute Frage. Bitte lesen Sie [So stellen Sie eine gute Frage] (https://stackoverflow.com/help/how-to-ask) –

+0

Welcher Teil der GUI funktioniert nicht richtig? Wir sind nicht sicher, was Ihr gewünschtes Ergebnis ist – MattR

+0

"Ich weiß nicht, wie meine GUI-Seite angezeigt wird, nachdem sich der Benutzer erfolgreich angemeldet hat." –

Antwort

0

Sie müssen grundsätzlich überprüfen, ob der Benutzername und das Passwort korrekt sind und dann die frame zerstören, dass die Widgets in enthalten sind, und neu zu zeichnen, was Sie auf der anderen Seite wollen:

from tkinter import * 

class App: 
    def __init__(self, root): 
     self.username = "Username" 
     self.password = "Password" 

     self.root = root 
     self.frame = Frame(self.root) 
     self.entry1 = Entry(self.frame) 
     self.entry2 = Entry(self.frame) 
     self.button1 = Button(self.frame, text="Ok", command=self.login) 
     self.frame.pack() 
     self.entry1.pack() 
     self.entry2.pack() 
     self.button1.pack() 
    def login(self): 
     if self.entry1.get() == self.username and self.entry2.get() == self.password: 
      self.frame.destroy() 
      self.frame = Frame(self.root) 
      self.label = Label(self.frame, text="You are logged in") 
      self.frame.pack() 
      self.label.pack() 

root = Tk() 
App(root) 
root.mainloop() 
Verwandte Themen