我正在尝试制作一个tkinter
的程序,当按下按钮时会显示不同的单词。所以我的问题如下:说有一个按钮next question
,无论什么时候按下,屏幕上当前的问题都会改变到下一个(当前的一个是Q1 - > button
被按下 - > Q2替换了Q1),我只希望有一个单一按钮,而不是每个问题不同的按钮。我应该用什么来完成这个?我尝试使用lists
,但没有成功。
提前谢谢你们!
答案 0 :(得分:1)
最简单的解决方案是将问题放在列表中,并使用全局变量来跟踪当前问题的索引。 “下一个问题”按钮需要简单地增加索引,然后显示下一个问题。
使用类比全局变量更好,但为了保持示例简短,我不会使用类。
示例:
import Tkinter as tk
current_question = 0
questions = [
"Shall we play a game?",
"What's in the box?",
"What is the airspeed velocity of an unladen swallow?",
"Who is Keyser Soze?",
]
def next_question():
show_question(current_question+1)
def show_question(index):
global current_question
if index >= len(questions):
# no more questions; restart at zero
current_question = 0
else:
current_question = index
# update the label with the new question.
question.configure(text=questions[current_question])
root = tk.Tk()
button = tk.Button(root, text="Next question", command=next_question)
question = tk.Label(root, text="", width=50)
button.pack(side="bottom")
question.pack(side="top", fill="both", expand=True)
show_question(0)
root.mainloop()