蝙蝠岛资源网 Design By www.hbtsch.com
本文实例为大家分享了python实现倒计时小工具的具体代码,供大家参考,具体内容如下
#!/usr/bin/env python
# coding=utf-8
import threading
import time
import Queue
from Tkinter import *
import tkMessageBox
import logging
logging.basicConfig(level=logging.INFO)
## Communication queue
commQueue = Queue.Queue()
g_time = 0
## Function run in thread
def timeThread():
global g_time
g_time = timeVar.get() * 60
while 1:
logging.info("线程放入队列:%d".decode("utf-8") % g_time)
commQueue.put(g_time)
try:
root.event_generate('<<TimeChanged', when='tail')
except TclError:
break
time.sleep(1)
g_time -= 1
if g_time==-1:
begin_btn["fg"] = "black"
clockVar.set("开始计时")
break
def timeChanged(event):
x = commQueue.get()
logging.info("获取队列:%d".decode("utf-8") % x)
minits = x//60
seconds = x%60
s = "剩余时间 {:02}:{:02}".format(minits, seconds)
begin_btn["fg"] = "blue"
clockVar.set(s)
if x==0:
tkMessageBox.showinfo("提醒","时间已到")
def clock_func(*args):
global g_time
if threading.activeCount()>1:
g_time = timeVar.get() * 60
else:
th=threading.Thread(target=timeThread)
th.start()
## Create main window
root = Tk()
root.title("计时工具")
root.geometry("180x95-0-45")
root.resizable(width=FALSE,height=FALSE)
root.wm_attributes("-topmost",1)
frame = Frame(root)
frame.pack()
Label(frame,text="设定时间间隔").grid(row=1,column=2)
timeVar = IntVar()
clockVar = StringVar()
time_entry = Entry(frame, textvariable=timeVar, width=8)
time_entry["justify"] = "center"
time_entry.grid(row=2,column=2,sticky="W,E")
begin_btn = Button(frame,textvariable=clockVar,command=clock_func)
begin_btn.grid(row=3,column=2)
timeVar.set(8)
begin_btn["fg"] = "black"
clockVar.set("开始计时")
for child in frame.winfo_children():
child.grid_configure(pady=3)
time_entry.focus()
root.bind('<<TimeChanged', timeChanged)
root.bind("<Return>",clock_func)
root.mainloop()
小编再为大家分享一段代码:Python窗口倒计时
# Countdown using Tkinter
from tkinter import *
import time
import tkinter.messagebox
class App:
def __init__(self,master):
frame = Frame(master)
frame.pack()
self.entryWidget = Entry(frame)
self.entryWidget["width"] = 15
self.entryWidget.pack(side=LEFT)
self.hi_there = Button(frame, text="开始", command=self.start)
self.hi_there.pack(side=LEFT)
self.button = Button(frame, text="退出", fg="red", command=frame.quit)
self.button.pack(side=LEFT)
def start(self):
text = self.entryWidget.get().strip()
if text != "":
num = int(text)
self.countDown(num)
def countDown(self,seconds):
lbl1.config(bg='yellow')
lbl1.config(height=3, font=('times', 20, 'bold'))
for k in range(seconds, 0, -1):
if k == 30:
print("\a")
if k== 29:
print("\a")
if k== 28:
print("\a")
lbl1["text"] = k
root.update()
time.sleep(1)
lbl1.config(bg='red')
lbl1.config(fg='white')
lbl1["text"] = "时间到!"
tkMessageBox.showinfo("时间到!","时间到!")
def GetSource():
get_window = Tkinter.Toplevel(root)
get_window.title('Source File"Change",
command=lambda: update_specs()).pack()
root = Tk()
root.title("Countdown")
lbl1 = Label()
lbl1.pack(fill=BOTH, expand=1)
app = App(root)
root.mainloop()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
标签:
python,倒计时
蝙蝠岛资源网 Design By www.hbtsch.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
蝙蝠岛资源网 Design By www.hbtsch.com
暂无python实现倒计时小工具的评论...
更新日志
2025年11月26日
2025年11月26日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]