为什么变量AnswerQuestionPageText2Variable不会更新?我已经尝试过mainloop、configure和set,但都没什么变化。我想让它在每次按下MainMenuButton1Command (开始按钮)时从列表TrueQuestions中随机选择一个问题。
#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)任何帮助都是最好的。谢谢。
发布于 2021-02-12 00:15:18
在这里你可以看到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()发布于 2021-02-11 22:11:44
您必须对AnswerQuestionPageText2 Label说,才能将AnswerQuestionPageText2Variable与:Label(textvariable=AnswerQuestionPageText2Variable, ...)一起使用
https://stackoverflow.com/questions/66152223
复制相似问题