只有一个函数/ return语句的Python Tkinter延迟?

时间:2017-01-04 19:38:44

标签: python animation tkinter delay

我目前正在使用Python开发一个学校项目,我和一些朋友尝试编写#34; Connect Four"我们必须使用tkinter作为GUI。

我目前的目标是为坠落的硬币设置动画。我读了一些关于的文章 tkinter .after()方法,但我不确定如何将其正确地应用到单个函数中(它应该循环几次直到硬币位于其最终位置)

time.sleep方法不好(冻结gui,没有动画显示),我知道:(

这里是简化的代码>>我也有一个想法,使用after方法,让被调用的函数返回一些东西,但我不知道如何做到这一点。

如果有人提示如何使这个工作

会很好
 def addCoin(self, x):



    #gets called when the button is pressed, x is the column

    #seachest the highest(lowest on screen) free field >> the final field
    maxdown = 0

    #self.y >> fieldsize, maxdown is correct

    while maxdown < self.y and self.getValue(x, maxdown) == 0:
        maxdown +=1

    #to get the last empty field, not the first full
    maxdown -= 1
    print(str(maxdown)+" is the next empty field")

    if maxdown < 0:
        print("you cant place a coin here")
        return

    #animation, which is my problem
    animy = 0
    while animy < maxdown:
        #set field color to playercolor, wait , set field white,     next field
        self.setValue(x, animy, self.activeplayer.nr)
        time.sleep(0.15)
        self.setValue(x, animy, 0)
        animy += 1


    #After animation, check for win, works fine

0 个答案:

没有答案