为了感谢大家对“Python客栈”的关注与支持,我们每天会在留言中随机抽取三位粉丝发放6.6元小红包。快来参与吧!

长时间的久坐容易疲劳,也容易腰背部肌肉容易受损,平时工作学习的时候我们应该时不时的起来活动一会,不如就用python制作个简单的倒计时提醒工具吧。

一、导入所需的模块

from tkinter import *import timefrom playsound import playsound

tkinter用来制作图形界面,time模块用来显示计算时间,playsound模块用来设置提示音。

二、利用tkinter制作窗口

root = Tk()root.geometry('400x300')root.resizable(0,0)root.title('倒计时')root.mainloop()

TK():初始化窗口

geometry():设置窗口的大小

resizable():锁定窗口大小

title():窗口标题

mainloop():始终显示窗口

三、创建当前时间

在窗口内创建一个标签 用来提示当前时间Label(root, font ='arial 15 bold ', text = '当前时间:', bg = 'Pink').place(x = 40 ,y = 70)

font:字体参数

text:要显示的文本

bg:标签的背景颜色

place():标签的坐标位置

显示当前时间def clock():    clock_time = time.strftime('%H:%M:%S %p')    curr_time.config(text = clock_time)    curr_time.after(1000,clock)curr_time =Label(root, font ='arial 15 bold', text = '' , bg ='pink')curr_time.place(x = 190 , y = 70)clock()

strftime():用来格式化输出时间,%H为24小时制小时数,%M为分钟数,%s为秒数,%p用来提示a.m或p.m。

after():设置1秒的时间更新。

四、实现倒计时功能

创建倒计时的输入框sec = StringVar()Entry(root, textvariable = sec, width = 2, font = 'arial 12').place(x=250, y=155)sec.set('00')mins= StringVar()Entry(root, textvariable = mins, width =2, font = 'arial 12').place(x=225, y=155)mins.set('00')hrs= StringVar()Entry(root, textvariable = hrs, width =2, font = 'arial 12').place(x=200, y=155)hrs.set('00')

sec,mins,hrs:存储秒,分,小时的字符串变量

Entry():创建文本输入框

textvariable:和一个特定变量绑定

倒计时功能def countdown():    times = int(hrs.get())*3600+ int(mins.get())*60 + int(sec.get())    while times > -1:        minute,second = (times // 60 , times % 60)                hour = 0        if minute > 60:            hour , minute = (minute // 60 , minute % 60)              sec.set(second)        mins.set(minute)        hrs.set(hour)           root.update()        time.sleep(1)        if(times == 0):            playsound('Loud_Alarm_Clock_Buzzer.mp3')            sec.set('00')            mins.set('00')            hrs.set('00')        times -= 1

time变量获取总时间(小时*3600+分钟*60+秒数),time大于-1时,倒计时执行,当time=0时,调用提示音(同目录下的声音文件)。

补上倒计时前的标签Label(root, font ='arial 15 bold', text = '倒计时:', bg ='pink').place(x = 40 ,y = 150)

五、创建一个按钮,启用倒计时

Button(root, text='START', bd ='10', command = countdown, bg = 'pink', font = 'arial 10 bold').place(x=150, y=210)

command:点击按钮时,调用上面编写好的倒计时函数

六、完整代码

讲解都在上面喽,就不写注释啦from tkinter import *import timefrom playsound import playsoundroot = Tk()root.geometry('400x300')root.resizable(0,0)root.title('倒计时')Label(root, font ='arial 15 bold ', text = '当前时间:', bg = 'Pink').place(x = 40 ,y = 70)def clock():    clock_time = time.strftime('%H:%M:%S %p')    curr_time.config(text = clock_time)    curr_time.after(1000,clock)curr_time =Label(root, font ='arial 15 bold', text = '' , bg ='pink')curr_time.place(x = 190 , y = 70)clock()Label(root, font ='arial 15 bold', text = '倒计时', bg ='pink').place(x = 40 ,y = 150)sec = StringVar()Entry(root, textvariable = sec, width = 2, font = 'arial 12').place(x=250, y=155)sec.set('00')mins= StringVar()Entry(root, textvariable = mins, width =2, font = 'arial 12').place(x=225, y=155)mins.set('00')hrs= StringVar()Entry(root, textvariable = hrs, width =2, font = 'arial 12').place(x=200, y=155)hrs.set('00')def countdown():    times = int(hrs.get())*3600+ int(mins.get())*60 + int(sec.get())    while times > -1:        minute,second = (times // 60 , times % 60)                hour = 0        if minute > 60:            hour , minute = (minute // 60 , minute % 60)              sec.set(second)        mins.set(minute)        hrs.set(hour)           root.update()        time.sleep(1)        if(times == 0):            playsound('Loud_Alarm_Clock_Buzzer.mp3')            sec.set('00')            mins.set('00')            hrs.set('00')        times -= 1Label(root, font ='arial 15 bold', text = '倒计时:', bg ='pink').place(x = 40 ,y = 150)Button(root, text='START', bd ='10', command = countdown, bg = 'pink', font = 'arial 10 bold').place(x=150, y=210) root.mainloop()END

昨日留言中奖名单

以上三位小伙伴,快来联系小编领取小小红包一份哦!小编微信:Mayyy530转发,点赞,在看,安排一下?

python倒计时弹框提示带注释_注意时间用python制作倒计时提醒工具相关推荐

  1. layui弹框提示层:倒计时(layui-font-red颜色定义)

    layui弹框提示层:倒计时(layui-font-red颜色定义) 官方文档:https://layer.layui.com/ 效果图 · 截图示下: 以上就是关于" layui弹框提示层 ...

  2. 删除弹框提示_如何关闭Mac的Microsoft AutoUpdate弹框提示

    macOS安装Microsoft Office for Mac之后,有时候会弹出Microsoft Auto Update微软应用自动更新工具.今天就给弹出来,就像下面这样:(我不知道您会不会烦,我是 ...

  3. 前端学习(2687):重读vue电商网站8之设置弹框提示组件

    首先,在 element.js 中导入弹框提示组件,但是它的配置与其它组件不一样,它需要进行全局挂载. 全局导入后,我们就可以在我们的登录组件 login.vue 中通过 this来访问弹框提示组件了 ...

  4. iOS 权限提示语_iOS11权限变化,权限都要弹框提示,而且需要说出功能用途

    iOS11访问权限列表隐私数据对应key值提示语相册(读)NSPhotoLibraryUsageDescription"XXX"需要您的同意,才能访问相册相册(写)NSPhotoL ...

  5. Chrome谷歌浏览器弹框提示:代理要求提供用户名与密码

    Chrome谷歌浏览器弹框提示:代理要求提供用户名与密码 问题出现: 分析: 解决: 问题出现: chrome浏览器打开之后出现代理弹框的提示(没截图,大概比划一下). 本人用的是 Ghelper. ...

  6. element-ui中message弹框提示的使用

    element-ui中message弹框提示的使用 1.按需导入的element-ui中的message import { Message } from 'element-ui' ​2.进行全局挂载: ...

  7. 【银河麒麟操作系统V10(SP1) 经常弹框提示是否授权】

    问题描述 银河麒麟操作系统V10(SP1) 经常弹框提示是否授权 解决方案: sudo setstatus softmode -p

  8. 1. 使用Popup组件自定义弹框提示页面

    Popup的基本使用 在QT中,经常使用QMessageBox进行弹框的提示,而在QML中并没有这个功能,但是可以利用Popup组件进行自定义弹框的设计. 该组件可以理解为是一个空白区域,默认的vis ...

  9. 如何点击按钮弹出弹框显示几秒_产品反馈设计:如何与用户有效沟通?

    正如两人聊天,一人滔滔不绝,另一人沉默寡言,即便有再大的热情,也会被这份冷淡给浇灭,有来有往才会越聊越起劲,越聊越有兴致,才能顺利进行下去.即便是作为一个倾听者,你也需要不时点头示意.双眼交错.嗯啊. ...

  10. android 弹出弹框2秒消失_基于HTML5 Canvas 实现弹出框

    前言 用户鼠标移入时,有弹出框出现,这样的需求很常见.这在处理 HTML 元素实现时简单,但是如果是对 HTML5 Canvas 构成的图形进行处理,这种方法不再适用,因为 Canvas 使用的是另外 ...

最新文章

  1. NYOJ 30 Gone Fishing JAVA+解析
  2. imx6 板卡移植官方yocto版本(2_定制系统)
  3. 微软成功测试氢燃料电池,为数据中心连续供电 48 小时
  4. centos7下nginx配置
  5. Weblogic的管理服务器与受管服务器
  6. 随机二次元图片API源码
  7. CSS定位 position
  8. Objective-C中的typedef枚举是什么?
  9. 7 种 JVM 垃圾收集器,Java语言实现核心,看完我跪了
  10. txt文档下载另存为解决
  11. 多元统计之因子分析模型及Python分析示例
  12. 实训笔记20190807--数据分析
  13. Soul App 后台Api接口
  14. android 快速开机启动,MTK6577+Android之快速开机
  15. 用CH341A烧录外挂Flash (W25Q16JV)
  16. IPhone手机打开EPUB文件教程
  17. matlab绘图崩溃,重新采用硬件加速绘图
  18. nginx代理ajax跨域请求
  19. 我的java学习之路之Mybatis
  20. 低代码助力生产管理:ERP生产管理系统

热门文章

  1. xis表格怎么打印_《如何通过虚拟打印机将文件打印成excel文档》 表格怎么打印出来...
  2. 苹果CMS 改造四合一聚合影视+聚合直播+在线小说+短视频+在线音乐+电视直播
  3. Python包和模块的区别
  4. SpringBoot 静态资源版本管理
  5. Bitvise ssh client工具
  6. Java之HTTP长连接
  7. 微信小程序在js中的data里定义对象
  8. SSD目标检测论文简读
  9. mysql字典_mysql常用字典表(完整版)
  10. 将两张图片合并成一个PDF,不收费