python实现倒计时小工具

本文实例为大家分享了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?')
    Tkinter.Entry(get_window, width=30,
           textvariable=source).pack()
    Tkinter.Button(get_window, text="Change",
            command=lambda: update_specs()).pack()

root = Tk()
root.title("Countdown")
lbl1 = Label()
lbl1.pack(fill=BOTH, expand=1)
app = App(root)
root.mainloop()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现的简单窗口倒计时界面实例

    本文实例讲述了python实现的简单窗口倒计时界面.分享给大家供大家参考.具体分析如下: 下面的代码通过Tkinter制作windows窗口界面,然后时间了一个简单的倒计时功能,代码可以直接运行 # Countdown using Tkinter from Tkinter import * import time import tkMessageBox class App: def __init__(self,master): frame = Frame(master) frame.pack()

  • python实现倒计时的示例

    复制代码 代码如下: import timecount = 0 a = input('time:') b = a * 60 while (count < b): ncount = b - count  print ncount  time.sleep(1) count += 1 print 'done'

  • python实现倒计时小工具

    本文实例为大家分享了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 commQueu

  • Python开发.exe小工具的详细步骤

    v1.0.0 完成基础框架.初始功能 背景:为了提高日常工作效率.学习界面工具开发,可以将一些常用的功能集成到一个小的测试工具中,供大家使用. 一.环境 Python3,pyinstall pyinstall安装: pip install pyinstaller   (会自动下载future,pywin32,pyinstaller) 或者采用国内镜像 pip install -i https://pypi.douban.com/simple/ pyinstaller(豆瓣源) 二.代码准备,直接

  • Python写安全小工具之TCP全连接端口扫描器

    目录 一个简单的端口扫描器 多线程版本 前言: 通过端口扫描我们可以知道目标主机都开放了哪些服务,下面通过TCP connect来实现一个TCP全连接端口扫描器. 一个简单的端口扫描器 #!/usr/bin/python3 # -*- coding: utf-8 -*- from socket import * def portScanner(host,port): try: s = socket(AF_INET,SOCK_STREAM) s.connect((host,port)) print

  • 如何使用python写截屏小工具

    前言 今天我看了一下自己的文件夹,发现了自己写了许多似乎很无聊的代码.于是乎,一个想法油然而生:"生活已经很无聊了,不如再无聊一点叭". 说干就干,那就开一个专题,我们称之为kimol君的无聊小发明. 妙-啊~~~ 今天要做的东西,就是用python写一个截屏工具.想必大家平时截屏的时候很多都是用的微信的ALT+A或者是WINDOWS自带的截屏软件.作为技术宅的我,怎么总是用别人的东西呢? 看我的,上图: 效果还阔以,好歹这个小猫咪截出来也是有模有样的~ 一.技术实现 1. 相关库 在

  • 使用Python制作一个数据预处理小工具(多种操作一键完成)

    在我们平常使用Python进行数据处理与分析时,在import完一大堆库之后,就是对数据进行预览,查看数据是否出现了缺失值.重复值等异常情况,并进行处理. 本文将结合GUI工具PySimpleGUI,来讲解如何制作一款属于自己的数据预处理小工具,让这个过程也能够自动化!最终效果如下 本文将分为三部分讲解: 制作GUI界面 数据处理讲解 打包与测试 主要涉及将涉及以下模块: PySimpleGUI pandas matplotlib 一.GUI界面制作 思路 老规矩,先讲思路再上代码,首先还是说一

  • Python制作一个随机抽奖小工具的实现

    目录 1. 核心功能设计 2. GUI设计与实现 3. 功能实现 3.1 读取人员名单 3.2. 随机抽奖 3.3. 保存中奖名单 3.4. GUI交互逻辑 最近在工作中面向社群玩家组织了一场活动,需要进行随机抽奖,参考之前小明大佬的案例,再结合自己的需求,做了一个简单的随机抽奖小工具. 今天我就来顺便介绍一下这个小工具的制作过程吧! 先看效果: 1. 核心功能设计 针对随机抽奖的小工具,需要可以导入参与抽奖的人员名单,然后选择不同的奖励类型进行随机抽取获奖名单并导出. 那么,简单进行需求拆解,

  • Python基于tkinter模块实现的改名小工具示例

    本文实例讲述了Python基于tkinter模块实现的改名小工具.分享给大家供大家参考,具体如下: #!/usr/bin/env python #coding=utf-8 # # 版权所有 2014 yao_yu # 本代码以MIT许可协议发布 # 文件名批量加.xls后缀 # 2014-04-21 创建 # import os import tkinter as tk from tkinter import ttk version = '2014-04-21' app_title = '文件名

  • Python 实现一个颜色色值转换的小工具

    需求说明 公司的 UI 设计小哥,已经转用 Zeplin 很久了.Zeplin 的设计稿展示页面的颜色色值使用十进制的 RGB 表示的,在 Android 中的颜色表示大多情况下都需要十六进制的 RGB 表示.我的数学没有好到直接看到十进制就可以心算得到十六进制的结果,所以我需要一个工具,输入十进制的 RGB ,得到十六进制的色值,最好可以方便复制. Zeplin 的颜色色值显示示例 原有处理方式 因为我会 Python (仅限于终端输入 python 然后当做计算器算,或者用 hex() 函数

  • 用python写个自动SSH登录远程服务器的小工具(实例)

    很多时候我们喜欢在自己电脑的终端直接ssh连接Linux服务器,而不喜欢使用那些有UI界面的工具区连接我们的服务器.可是在终端使用ssh我们每次都需要输入账号和密码,这也是一个烦恼,所以我们可以简单的打造一个在Linux/Mac os运行的自动ssh登录远程服务器的小工具. 来个GIF动画示例下先: 概述 我们先理一下我们需要些什么功能: 1. 添加/删除连接服务器需要的IP,端口,密码 2. 自动输入密码登录远程服务器 对,我们就做这么简单的功能 开始写代码 代码比较长,所以我也放在在Gith

  • 布同自制Python函数帮助查询小工具

    比如在学习list.tuple.dict.str.os.sys等模组的时候,利用Python的自带文档可以很快速的全面的学到那些处理的函数.所以这个自带文档功能能够给出学者带来很大的方便之处,进行简短的开发是再好不过的. 但是,当你离开CMD,要利用IDLE或者要用Komodo Edit等软件进行"段式编程"的时候,就有些捉襟见肘了.例如,wx库非常之大,帮助文件有10MB之多,如果你在CMD中打开,你可以想想你需要多少时间才能够查看到你想要的帮助信息.大规模的熟悉Python的各种A

随机推荐