【发布时间】:2021-09-15 01:07:13
【问题描述】:
我正在做一个问答游戏,在我想通过一个页面并加载新的问题和选项之后,选项不会改变。 我正在使用 wait_variable() 方法并传递一个字符串,只会出现新问题。 选项保持不变,不会更改为新选项。 如果问题出在索引或 wait_variable 中,我不会解决。
from tkinter import *
def sumbit():
name = entry_name.get()
print(name)
def instructions_Window():
instructions_Window = Toplevel()
instructions_Window.title("instructions")
instructions = Label(
instructions_Window,
text = "WELCOME TO THE TRIVIA GAME!\nYour will answer 10 question, the questions will be about general knowledge.\nMake sure you are doing your best maybe you will on the leaderboard soon!\n GOOD LUCK!!!",
font = ("Staatliches",30))
instructions.pack()
back_but = Button(instructions_Window, text="Back", command=instructions_Window.destroy)
back_but.pack()
def trivia_Window():
def m():
print(x.get())
def clear():
WaitState.set(1)
for widgets in trivia_Window.winfo_children():
widgets.destroy()
trivia_Window = Toplevel()
trivia_Window.title("Q&A")
WaitState = StringVar()
x = StringVar()
for key in questions:
question_number = 1
question_label = Label(trivia_Window, text=key, font=("Arial",40))
question_label.pack()
continue_but = Button(trivia_Window, text="Continue", font=("Arial", 10), padx=20, pady=10, command=clear)
continue_but.pack(anchor=S)
for i in options[question_number-1]:
options_radio = Radiobutton(trivia_Window, text=i, variable=x, value=i, font=("Arial", 20), command=m)
options_radio.pack()
question_number = question_number + 1
continue_but.wait_variable(WaitState)
questions = {
"How old is the universe?": "C",
"Who was the first person in space?": "C",
"In which year the first covid-19 case was discovered?": "C",
"What is the most populated country?": "A"
}
options = [[["A. 5.3 billion years old"], ["B. 13.8 billion years old"], ["C. 13.8 milion years old"], ["D. 241.1 billion years old"]],
[["A. Alan Shepard"], ["B. Neil Armstrong"], ["C. Yuri Alekseyevich Gagarin"], ["D. Ilan Ramon"]],
[["A. 2018"], ["B. 2001"], ["C. 2019"], ["D.2020"]],
[["A. China"],["B. Russia"], ["C. India"], ["D. United States"]]]
window = Tk()
window.title("Home")
window.geometry("1920x1080")
window.iconbitmap("pp.ico")
window.config(bg="#93b4ba")
label_welcome = Label(window, text="Welcome Back To Our Trivia Game!", font=("Akaya Kanadaka",80,"bold"), bg = "#93b4ba")
label_welcome.pack()
label_enter_name = Label(window, text="Enter you name:", font=("Lato",50,"bold"), bg = "#93b4ba", fg="#3038d1")
label_enter_name.pack(side=LEFT)
entry_name = Entry(window,font=("Arial",40))
entry_name.pack(side=LEFT)
sumbit_but = Button(window, text="Sumbit", font=("Arial",10,"bold"), width=15, height=4,command=sumbit, bg="#0f0f0f", fg="white")
sumbit_but.pack(side=LEFT)
quit_but = Button(window, text="Quit", font=("Arial",10,"bold"), width=20, height=10,command=quit,bg="#b5aa72")
quit_but.place(x=0,y=845)
start_but = Button(window, text="Start", font=("Arial",10,"bold"), width=20, height=10,command=trivia_Window ,bg="#a1ad90")
start_but.place(x=1750,y=845)
instructions_but = Button(window, text="Instructions", font=("Arial",10,"bold"), width=20, height=10,command=instructions_Window,bg="#626363")
instructions_but.pack(side=RIGHT)
window.mainloop()
【问题讨论】:
-
你不是在 2 小时前问过这个问题吗here?请不要一遍又一遍地用同样的问题淹没网站。
-
不,我在问一个不同的问题
标签: python tkinter radio-button label