响应多次单击鼠标以产生不同的输出-Tkinter

时间:2019-04-26 06:00:14

标签: button tkinter

我正在解决一个问题,要求我创建一个GUI(在Tkinter中),每次按下按钮时,该GUI会在标签中显示一个不同的单词(从列表中引用)。

我尝试研究,发现了类似的问题,但是还没有找到可行的解决方案。我已经尝试了“ for each”和“ while”循环以及“ if”语句,但未能使代码正常工作。

the_window.counter = 0

if the_window.counter == 0:
    top_label['text'] = words [0]
    the_window.counter + 1
elif the_window.counter == 1:
    top_label['text'] = words [1]
    the_window.counter + 1

上面显示的代码仅产生列表中的第一个单词,多次单击没有任何效果。有人有什么想法吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

您需要保留一个全局计数器,并在每次单击时对其进行更新。

以下代码说明了该技术:

# initialized to -1, so that the first time it is called
# it gets set to zero
the_window_counter = -1

def handle_click():
    global the_window_counter
    the_window_counter += 1
    try:
        top_label.configure(text=words[the_window_counter])
    except IndexError:
        top_label.configure(text="no more words")