Ich bin ein Student, und als Anfänger, weiß ich nicht viel von Python. Ich habe mich jedoch entschieden, ein Multiple-Choice-Quiz zu machen, bei dem keine Antwort falsch ist, aber alle Antworten ergeben eine Gesamtpunktzahl. Ich habe jede Frage Seite in eine eigene Klasse, wie Klasse Frage1 (tk.Frame): gelegt. Ein Teil des Codes, den ich benutzt habe, ist aus dem Internet ...Python 2.7, Tkinter Multiple-Choice-Quiz (Notebook-Layout und Radio-Button-Hilfe)
Meine erste Frage ist, wie bekomme ich jede Klasse zu einem eigenen Rahmen (frame_1, frame_2, etc ...), so dass ich verwenden kann es im Notebook-Layout?
Meine zweite Frage ist, wie bekomme ich Werte aus dem Radio-Button (Wert = 1, etc ...), um eine mögliche .csv-Datei zu speichern, zu speichern? Nichts in meinen Gedanken funktioniert ...
Hilfe wäre sehr geschätzt !!!
from Tkinter import *
import ttk
import Tkinter as tk
LARGE_FONT= ("Arial", 12)
def sel():
selection = "You selected " + str(var.get())
label.config(text = selection)
#def answerout():
root = tk.Tk()
var = tk.IntVar()
notebook = ttk.Notebook(root)
frame_1 = ttk.Frame(notebook)
frame_2 = ttk.Frame(notebook)
frame_3 = ttk.Frame(notebook)
frame_4 = ttk.Frame(notebook)
notebook.add(frame_1, text='Home')
notebook.add(frame_2, text='Question 1')
notebook.add(frame_3, text='Question 2')
notebook.add(frame_4, text='Question 3')
notebook.pack(expand=1, fill="both")
class Home(tk.Frame):
frame1 = Frame(frame_1)
frame1.pack(side=TOP)
def __init__(root, parent, controller):
frame1 = Frame(frame_1)
frame1.pack(side=TOP)
tk.Frame.__init__(root,parent)
label = tk.Label(root, text="This program tries to understand characteristic features of individual students.", font=LARGE_FONT)
label1 = tk.Label(root, text="Please click start to begin!", font=LARGE_FONT)
label.pack(pady=10,padx=10)
label1.pack(pady=10,padx=10)
button = tk.Button(root, text="Start!",
command=lambda: controller.show_frame(Question1))
button.pack()
button2 = tk.Button(root, text="Exit",
command=lambda: app.destroy())
button2.pack()
class Question1(tk.Frame):
def __init__(root, parent, controller):
tk.Frame.__init__(root, parent)
label1 = tk.Label(root, text="I make choices based on what I think, not on what I feel.", font=LARGE_FONT)
label1.pack(pady=10,padx=10)
R1 = Radiobutton(root, text="Not Often", variable=var, value=1,
command=sel)
R1.pack(anchor = W)
R2 = Radiobutton(root, text="Sometimes", variable=var, value=2,
command=sel)
R2.pack(anchor = W)
R3 = Radiobutton(root, text="Often", variable=var, value=3,
command=sel)
R3.pack(anchor = W)
button1 = tk.Button(root, text="Back to Home",
command=lambda: controller.show_frame(Home))
button1.pack()
button2 = tk.Button(root, text="Next",
command=lambda: controller.show_frame(Question2))
button2.pack()
class Question2(tk.Frame):
def __init__(root, parent, controller):
tk.Frame.__init__(root, parent)
label = tk.Label(root, text="I challenge people if I don't think they are right.", font=LARGE_FONT)
label.pack(pady=10,padx=10)
R4 = Radiobutton(root, text="Not Often", variable=var, value=1,
command=sel)
R4.pack(anchor = W)
R5 = Radiobutton(root, text="Sometimes", variable=var, value=2,
command=sel)
R5.pack(anchor = W)
R6 = Radiobutton(root, text="Often", variable=var, value=3,
command=sel)
R6.pack(anchor = W)
button2 = tk.Button(root, text="Back",
command=lambda: controller.show_frame(Question1))
button2.pack()
button3 = tk.Button(root, text="Next",
command=lambda: controller.show_frame(Question3))
button3.pack()
button1 = tk.Button(root, text="Back to Home",
command=lambda: controller.show_frame(Home))
button1.pack()
class Question3(tk.Frame):
def __init__(root, parent, controller):
tk.Frame.__init__(root, parent)
label = tk.Label(root, text="I can change and fit into new situations easily.", font=LARGE_FONT)
label.pack(pady=10,padx=10)
R7 = Radiobutton(root, text="Not Often", variable=var, value=1,
command=sel)
R7.pack(anchor = W)
R8 = Radiobutton(root, text="Sometimes", variable=var, value=2,
command=sel)
R8.pack(anchor = W)
R9 = Radiobutton(root, text="Often", variable=var, value=3,
command=sel)
R9.pack(anchor = W)
button2 = tk.Button(root, text="Back",
command=lambda: controller.show_frame(Question2))
button2.pack()
button3 = tk.Button(root, text="Next (GOES HP)",
command=lambda: controller.show_frame(Home))
button3.pack()
button1 = tk.Button(root, text="Back to Home",
command=lambda: controller.show_frame(Home))
label = Label(root)
label.pack()
app = root
app.geometry('1024x512')
app.wm_title('Brain Thinking Model')
app.iconbitmap(r'fav.ico')
app.mainloop()
root.mainloop()
Was mache ich, um einen Controller zu machen? Ich bin meistens schon verloren xD –
@GauravKararia: Ich bin mir nicht sicher. Das ist dein Code, nicht meins. Vielleicht kannst du dorthin zurückkehren, wo du den Code kopiert hast, um zu sehen, was er getan hat, um einen Controller zu erstellen. –