2017-05-02 8 views
2

Innerhalb einer Revisionsanwendung, die ich entwickle, suche ich eine Benutzerantwort (in welchem ​​Bereich der Revision sie sich konzentrieren möchten), die dann das Spezifische lädt Bereich, den sie brauchen.Eingeben einer Benutzereingabe zum Laden eines Programms

Würde dies Eingabe Widgets erfordern?

Dies ist der Code, den ich bisher habe:

instruction = tkinter.Label(roots, text= "'What would you like to revise?'\n")  
instruction.grid(row=0, column=0,sticky=W) 
if int(answer) != int(entryWidget.get().strip()): 
    tkMessageBox.showinfo("Answer", "INCORRECT!") 
else: 
    tkMessageBox.showinfo("Answer", "CORRECT!") 

mich für den Mangel an Code entschuldigen, aber ich bin nicht sicher, wie man es über diesen Punkt zu entwickeln, ohne zu wissen, wie mein alternativen Teil laden Code von diesem Punkt

Teil 2:

def Signup(): 
    global pwordE 
    global nameE 
    global roots 

    roots = tkinter.Tk() 
    roots.title("Computer Science Revision") 
    roots.geometry("1000x1000") 
    roots.wm_iconbitmap('favicon.ico') 
    roots.configure(background="#a1dbcd")  

    photo= tkinter.PhotoImage(roots,file="ryu.gif") 
    A = tkinter.Label(roots,image=photo) 
    A.pack()  

    roots = tkinter.Tk() 
    roots.title('Signup') 
    instruction = tkinter.Label(roots, text= 'Please enter new Credentials\n') 
    instruction.grid(row=0, column=0,sticky=W) 

    nameL = tkinter.Label(roots, text='New Username: ') 
    pwordL = tkinter.Label(roots, text='New Password: ') 
    nameL.grid(row=1, column=0, sticky=W) 
    pwordL.grid(row=2, column=0, sticky=W) 
    nameE= tkinter.Entry(roots) 
    pwordE = tkinter.Entry(roots, show='*') 
    nameE.grid(row=1, column=1) 
    pwordE.grid(row=2, column=1) 

    signupButton = Button(roots, text='Signup', command=FSSignup) 
    signupButton.grid(columnspan=2, sticky=W) 
    roots.mainloop() 

    roots.title("Computer Science Revision") 
    roots.geometry("1000x1000") 
    roots.wm_iconbitmap('favicon.ico') 
    roots.configure(background="#a1dbcd")  

    photo= tkinter.PhotoImage(roots,file="ryu.gif") 
    A = tkinter.Label(roots,image=photo) 
    A.pack() 

dieser Teil mit dem Rest der Anmeldung lädt, wird nicht, wie kann ich dieses Problem beheben?

+0

Ein Ansatz könnte einen Eintrag Widget und eine elif-Anweisung wählen werden, der Bereich der Studie der Benutzer interessiert ist. Alternativ haben einige Tasten mit vordefinierten Bereichen wie Geschichte, Naturwissenschaften, Mathematik und jeweils Schaltfläche öffnen/generieren Sie die entsprechende Schnittstelle. – Sithling

+0

Wie im Benutzer drückt einfach die Taste für den spezifischen Bereich der Revision? – joe

+0

Ja, weil Sie vermutlich ein paar verschiedene Bereiche codiert haben, also erscheint mir die Anzeige aller Optionen mit leicht zugänglichen Knöpfen als eine gute Idee – Sithling

Antwort

2

Ich hoffe, Sie fragen etwas wie dieses.

import tkinter as tk 

root = tk.Tk() 
root.geometry("500x500+100+100") 
def raise_frame(frame): 
    frame.tkraise() 

f1 = tk.Frame(root) 
f2 = tk.Frame(root) 
f3 = tk.Frame(root) 
f4 = tk.Frame(root) 

for frame in (f1,f2,f3,f4): 
    frame.grid(row=0, column=0, sticky='news') 

#Frame1 

button1 = tk.Button(f1, text='English', command=lambda:raise_frame(f2)).pack() 
button2 = tk.Button(f1, text='Maths', command=lambda:raise_frame(f3)).pack() 
button3 = tk.Button(f1, text='Science', command=lambda:raise_frame(f4)).pack() 


#Frame2 

tk.Label(f2, text="English Revision").pack() 
tk.Button(f2, text="HOME", command=lambda:raise_frame(f1)).pack() 

#Frame3 
tk.Label(f3, text="Maths Revision").pack() 
tk.Button(f3, text="HOME", command=lambda:raise_frame(f1)).pack() 

#Frame4 
tk.Label(f4, text="Science Revision").pack() 
tk.Button(f4, text="HOME", command=lambda:raise_frame(f1)).pack() 

raise_frame(f1) 
root.mainloop() 
+0

Danke dafür - wo würde ich den Code platzieren, um innerhalb meiner Tasten zu gehen? unter jedem einzelnen Rahmen? – joe

+1

Ja, durch das Erstellen mehrerer Frames können wir mit 'tkraise()' einen bestimmten Frame beim Klicken auf die Schaltfläche anheben. Also müssen Sie dem Rahmen, der mit der Schaltfläche verknüpft ist, Stoffe hinzufügen. Genauso können Sie auch Login-Sachen verwenden. Aber mein Code ist nur ein Beispiel ohne objektorientierten Ansatz. – Sundararajan

+0

Tolles Zeug, danke, noch eine Frage, wenn Sie wissen, wie Sie helfen können ... Ich habe meine Frage bearbeitet – joe

Verwandte Themen