Reputation: 75
Why won't the variable AnswerQuestionPageText2Variable
update? I have tried mainloop
, configure
, and set
but it stays the same. I want it to choose a random question out of the list TrueQuestions
every time the MainMenuButton1Command
(start button) is pressed.
#imports
from tkinter import *
from tkinter.font import *
import random
#lists
TrueQuestions = [
'true question 1',
'true question 2',
'true question 3',]
current_question = random.choice(TrueQuestions)
#command defines
def MainMenuButton1Command():
MainMenu.withdraw()
AnswerQuestionPage.deiconify()
#attempting to update AnswerQuestionPageText2Variable when start button pressed
current_question = random.choice(TrueQuestions)
AnswerQuestionPageText2Variable.set(current_question)
def MainMenuButton5Command():
quit()
def AnswerQuestionPageButton1Command():
AnswerQuestionPage.withdraw()
MainMenu.deiconify()
#MainMenu
MainMenu = Tk()
MainMenu.attributes("-fullscreen", True)
MainMenu.title("IQ extreme Main Menu")
MainMenu.configure(bg="blue")
BigFont = Font(family="Tahoma",size=48,weight="bold")
SmallFont = Font(family="Tahoma",size=24)
TinyFont = Font(family="Tahoma",size=18)
MainMenuButton1 = Button(MainMenu,bg="white",fg="black",font=TinyFont,text="Start",width=20,command=MainMenuButton1Command)
MainMenuButton1.place(x=525,y=400)
MainMenuButton5 = Button(MainMenu,bg="red",fg="black",font=TinyFont,text="Quit",width=5,command=MainMenuButton5Command)
MainMenuButton5.place(x=1200,y=950)
#AnswerQuestionPage
AnswerQuestionPage = Tk()
AnswerQuestionPage.withdraw()
BigFont = Font(AnswerQuestionPage,family="Tahoma",size=48,weight="bold")
SmallFont = Font(AnswerQuestionPage,family="Tahoma",size=24)
TinyFont = Font(AnswerQuestionPage,family="Tahoma",size=18)
AnswerQuestionPage.attributes("-fullscreen", True)
AnswerQuestionPage.title("IQ extreme")
AnswerQuestionPage.configure(bg="blue")
AnswerQuestionPageText2Variable = StringVar()
AnswerQuestionPageText2Variable.set(current_question)
AnswerQuestionPageText2 = Label(AnswerQuestionPage,bg="blue",fg="black",font=BigFont,text="Question: "+str(current_question))
AnswerQuestionPageText2.place(x=350,y=50)
AnswerQuestionPageButton1 = Button(AnswerQuestionPage,bg="white",fg="black",font=TinyFont,text="Home",width=5,command=AnswerQuestionPageButton1Command)
AnswerQuestionPageButton1.place(x=1205,y=5)
Any help would be great. Thanks.
Upvotes: 1
Views: 85
Reputation: 1920
Here you can see working code for textvariable:
from tkinter import *
from tkinter.font import *
import random
# lists
TrueQuestions = [
'true question 1',
'true question 2',
'true question 3', ]
current_question = random.choice(TrueQuestions)
AnswerQuestionPage = Tk()
BigFont = Font(AnswerQuestionPage, family="Tahoma", size=48, weight="bold")
SmallFont = Font(AnswerQuestionPage, family="Tahoma", size=24)
TinyFont = Font(AnswerQuestionPage, family="Tahoma", size=18)
AnswerQuestionPage.attributes("-fullscreen", True)
AnswerQuestionPage.title("IQ extreme")
AnswerQuestionPage.configure(bg="blue")
AnswerQuestionPageText2Variable = StringVar()
AnswerQuestionPageText2Variable.set(current_question)
AnswerQuestionPageText2 = Label(AnswerQuestionPage,
bg="blue",
fg="black",
font=BigFont,
textvariable=AnswerQuestionPageText2Variable)
AnswerQuestionPageText2.place(x=350, y=50)
AnswerQuestionPage.mainloop()
Upvotes: 2
Reputation: 1920
You must say to AnswerQuestionPageText2
Label to use AnswerQuestionPageText2Variable
with: Label(textvariable=AnswerQuestionPageText2Variable, ...)
Upvotes: 2