2016-03-29 13 views
-1

dies ist mein Code für in der ich zwei Seiten versuche

from Tkinter import * 

class Example(Frame): 

    def __init__(self , parent, controller): 
     Frame.__init__(self, parent)  
     self.controller=controller 
     self.parent = parent 
     self.parent.title("f2") 
     self.parent.configure(background="royalblue4") 
     self.pack(fill=BOTH, expand=1) 

     w = 800 
     h = 500 

     sw = self.parent.winfo_screenwidth() 
     sh = self.parent.winfo_screenheight() 

     x = (sw - w)/2 
     y = (sh - h)/2 
     self.parent.geometry('%dx%d+%d+%d' % (w, h, x, y)) 

     self.logbtn1 = Button(self,text="SIGN UP",font=("Copperplate Gothic Bold",16),bg=("dark green"),activebackground=("green"),command=lambda: controller.show_frame("D:\java prgms\minor\signup")) 
     self.logbtn1.place(x=325,y=175) 

     self.logbtn2 = Button(self, text="LOGIN",font=("Copperplate Gothic Bold",16),bg=("cyan"),activebackground=("yellow"),command=lambda: controller.show_frame("D:\java prgms\minor\log1")) 
     self.logbtn2.place(x=335,y=220) 

     self.pack() 

def main():  
    root = Tk() 
    ex = Example(root,Frame) 
    root.mainloop() 


if __name__ == '__main__': 
    main() 

zu verknüpfen Aber hier habe ich diese Fehlermeldung immer bin:„Attribute: Klasse-Feld hat kein Attribut‚show_frame‘“

AttributeError: class Frame has no attribute 'show_frame' 
how to remove this error 
+0

Ich habe versucht, Ihren Code es funktioniert –

Antwort

1

Als Erstes können Sie Lambda nicht wie in command=lambda: controller.show_frame(...) aufrufen.

Angenommen, Sie haben die notwendigen Importe durchgeführt, die ich in Ihrem aktuellen Programm nicht sehe, ersetzen Sie einfach diese 2 Anweisungen (in 2 Zeilen Ihres Codes) durch: command=controller.show_frame(...).

Bitte lesen Sie über how to use lambda

Zweitens Code enthält einen anderen Fehler um diese Linie:

if name == 'main': 
    main() 

Ändern Sie es an:

if __name__ == '__main__': 
    main() 

Nachdem ich Ihre Fehler behoben, ich laufe Ihr Programm erfolgreich:

enter image description here

P.S. Könnten Sie sich für diesen Beitrag interessieren: What does if __name__ == "__main__": do?

Verwandte Themen