【发布时间】:2017-11-19 02:18:50
【问题描述】:
我正在尝试制作一个可以暂停和恢复循环的按钮。
在代码中:
for index in range(10):
print index
// Runs until here, and pause
// Button pressed
print index + 10
// Runs until here, and pause
// Button pressed
在终端:
0
// Button pressed
10
// Button pressed
1
// Button pressed
11
...
9
// Button pressed
19
// Button pressed
有没有一种方法可以通过按钮暂停和恢复循环?
【问题讨论】:
-
我对你在问什么感到困惑。您是否希望
for循环在继续之前等待按下按钮? -
@James 是的,没错。
-
每个 GUI 框架中的长时间运行循环都会产生问题,因为它会停止其主循环(事件循环)并且看起来像是挂了。所以主要问题是如何运行它而不是停止主循环。如果您将在第二个线程中运行它,那么您可以使用
while first_time_pressed == False: pass来停止循环,并且主线程中的按钮会更改first_time_pressed = True、second_time_pressed = True等。但是这个while循环将使用太多的CPU 功率。 -
到目前为止必须尝试什么?请发布您的代码。
-
顺便说一句:您可以使用
yield停止功能,按钮可以再次运行功能,并在yield之后继续运行。