暂停while循环,而不是Python中程序的其余部分

2024-10-03 15:34:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python编写一个(简单)程序,在这个程序中,我按一个按钮使球落下,然后球会以较慢的速度自动上升。球落下的部分起作用了,但我似乎不能让上升的部分发生。在

我的第一反应是用if。但是if只触发一次,我希望它在每次球落下时触发。我好像做不到。在

我的第二个想法是使用while循环。但是,我好像没有把握好时机。我不能在按钮外触发,所以现在我在里面触发。像这样:

def callback1():
    global l1
    w.move(cirkel1, 0, 20)
    label1.configure(text=l1)
    while l1 != 0:
        w.move(cirkel1, 0, -20)
        l1 -= 1

但是while循环在我按下按钮的同时执行,这使得球根本不移动。我试着四处看看,发现了一个sleep函数,但问题是它会暂停整个程序,而不仅仅是循环。我希望能在球慢慢上升的时候,把球放得更低。我试着找一个计时器之类的东西,但我找不到任何可以理解的东西,而且看起来很管用。在

我是做错了什么,忘记了一个选择,还是我想要的根本不可能?请帮帮我。在


Tags: text程序l1moveifconfiguredef按钮