在Python中,可以使用time
模塊的sleep
函數來實現暫停程序的功能。sleep
函數接受一個參數,表示暫停的時間(以秒為單位)。當程序執行到sleep
函數時,會暫停指定的時間,然后繼續執行后面的代碼。
要實現暫停和恢復按鈕,可以使用多線程來實現。首先,創建一個子線程,在子線程中執行需要暫停的代碼。然后,在主線程中監聽按鈕點擊事件,當點擊暫停按鈕時,向子線程發送一個信號,子線程收到信號后調用sleep
函數暫停程序。當點擊恢復按鈕時,同樣向子線程發送一個信號,子線程收到信號后繼續執行。
下面是一個簡單的示例代碼:
import time
import threading
# 全局變量,用于控制子線程的暫停和恢復
paused = False
# 子線程執行的函數
def run():
while True:
# 檢查是否要暫停程序
while paused:
time.sleep(0.1) # 暫停程序
# 執行需要暫停的代碼
print('running...')
time.sleep(1) # 模擬耗時操作
# 創建子線程
t = threading.Thread(target=run)
t.start()
# 監聽按鈕點擊事件
while True:
cmd = input('Enter command (pause/resume): ')
if cmd == 'pause':
# 暫停子線程
paused = True
elif cmd == 'resume':
# 恢復子線程
paused = False
在上面的代碼中,子線程會不斷執行print('running...')
和time.sleep(1)
語句,模擬耗時操作。主線程會不斷監聽用戶的輸入。當用戶輸入pause
時,主線程會將paused
變量設置為True
,子線程會在下一次循環中調用sleep
函數暫停程序。當用戶輸入resume
時,主線程會將paused
變量設置為False
,子線程會繼續執行。