我曾嘗試使用 root.after_cancel(AFTER),但我不知道如何。
root.after_cancel(AFTER)
AFTER = None
def countdown(count,time,name):
global AFTER
time['text'] =name,":",datetime.fromtimestamp(count).strftime("%M:%S")
if count > 0 :
AFTER = root.after(1000, countdown, count-1,time,name)
elif count == 0 :
time['text'] = f"Возрожден:{name}"```
uj5u.com熱心網友回復:
很難猜出你到底在追求什么,但是......下面的作業代碼輸出到標準輸出,并且能夠通過按下[Countdown]按鈕開始/停止/重新開始倒計時。“訣竅”是始終運行計時器檢查全域變數的值,按下按鈕設定該變數的值取決于它當前具有的值。代碼的作業方式似乎可以回答您的兩個問題(1.如何停止和 2.如何通過按下開始倒計時的相同按鈕來重置倒計時)。
def countdown():
global countdownValue
if countdownValue > 0 :
print(' countdown: ', countdownValue)
countdownValue -= 1
if countdownValue == 0 :
countdownValue = -1
print(f"\n Возрожден: {name} :) ")
root.after(1000, countdown)
def startStopCountdown():
global countdownValue
if countdownValue > 0:
print('stopCountdown')
countdownValue = -1
else:
print('startCountdown')
countdownValue = 10
import tkinter as tk
countdownValue = -1
name = 'Возро'
root = tk.Tk()
root.title("3,2,1,...")
btn = tk.Button( root, text="Countdown", font=('',20),
command=startStopCountdown)
btn.grid()
countdown()
root.mainloop()
順便說一句:在您的問題的背景關系中,我想到以下可能對您的問題的背景關系有幫助使用 tkinter 添加標簽/文本(理想情況下位于倒數計時器上方)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/492998.html
