使用按钮而不是输入()单步执行功能

时间:2015-07-30 05:06:38

标签: python tkinter

我试图通过for应用程序中的用户输入逐步执行tkinter循环。

    #! /usr/bin/env python3
    from tkinter import *

    root = Tk()

    def go():
        for i in range(100):
            textbox.delete(1.0, END)
            textbox.insert("insert", str(i))
            something = input('hit enter') #change this idea with pressing button2
            # line 11 what to put here

    def ups():
        pass #2 what to put here

    button1 = Button(root, text='go', command=go)
    button1.pack()

    button2 = Button(root, text='ups', command=ups)
    button2.pack()

    textbox = Text(root) 
    textbox.pack() 

    root.mainloop() 

不是通过在控制台窗口(在input()提示符下)按 Enter 来推进该功能循环,而是通过单击中的按钮来实现此目的。 GUI。我如何建立这种联系?

1 个答案:

答案 0 :(得分:1)

保持list并使用计数器来完成它。如果您真的要使用数字0到99,只需直接使用str(counter),而不是保留list numbers

numbers = list(range(100))
counter = -1

def go():
    global counter
    counter += 1
    if counter == len(numbers):
        counter = 0
    textbox.delete(1.0, END)
    textbox.insert('insert', str(numbers[counter]))

如果需要,可以将 Enter 键绑定到此。

root.bind('<Return>', go)