视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Python实现定时弹窗提醒
2020-11-27 14:27:32 责编:小采
文档


经常用电脑,一坐就是几个小时,总是忘记时间,所以觉得是不是找个定时提醒软件。网上找了还真有还很多,找了一个卫士什么的,装了。到时间以后自动锁屏倒计时。功能不错但是感觉功能太多。不知道大家现在用软件的时候有没有这种感觉,本来就是想要一种很简单的功能,但最惨的是装了一大堆软件,功能一大票但是没有自己用的。

其实自己想的就是到时间以后弹窗提示休息就可以了。后来想想还是自己做一个吧。当然首选Python语言。

首先需要一个定时弹窗具体的代码如下:

程序使用自带的 Tkinter 不需要安装其他的包

程序的主要功能:1、启动以后自动计时 2、计时完成后弹出窗口进行提示 (默认时间为30分钟)3、点击确定后重新进行计时

程序的有一些问题:1、界面简单不精致(不过个人认为先达到功能 )2、休眠时不能够自动停止计时

# -*- coding: utf-8 -*-
import time, sys
# 判断python的版本然后import对应的模块
if sys.version < '3':
from Tkinter import *
else:
from tkinter import *
mydelaymin = 30 #窗口提示的延迟时间,以分钟计
#------------------def-------------------
def showMessage():
#show reminder message window
root = Tk() #建立根窗口
#root.minsize(500, 200) #定义窗口的大小
#root.maxsize(1000, 400) #不过定义窗口这个功能我没有使用
root.withdraw() #hide window
#获取屏幕的宽度和高度,并且在高度上考虑到底部的任务栏,为了是弹出的窗口在屏幕中间
screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight() - 100 
root.resizable(False,False)
#添加组件
root.title("Warning!!")
frame = Frame(root, relief=RIDGE, borderwidth=3)
frame.pack(fill=BOTH, expand=1) #pack() 放置组件若没有则组件不会显示
#窗口显示的文字、并设置字体、字号
label = Label(frame, text="You have been working 30 minutes! Please have a break!!", 
font="Monotype Corsiva -20 bold")
label.pack(fill=BOTH, expand=1)
#按钮的设置
button = Button(frame, text="OK", font="Cooper -25 bold", fg="red", command=root.destroy)
button.pack(side=BOTTOM)
root.update_idletasks()
root.deiconify() #now the window size was calculated
root.withdraw() #hide the window again 防止窗口出现被拖动的感觉 具体原理未知?
root.geometry('%sx%s+%s+%s' % (root.winfo_width() + 10, root.winfo_height() + 10, 
(screenwidth - root.winfo_width())/2, (screenheight - root.winfo_height())/2))
root.deiconify()
root.mainloop()
#showMessage()
while True:
time.sleep(mydelaymin*60) #参数为秒
showMessage()

如果在win下面,可能需要考虑如何自动运行。

我使用的是批处理文件。具体如下:

文件名为:rest_python.bat

内容简单,就一行(如果有多个python版本注意修改):

Java代码

python E:
est.py

同时需要一个后台运行这个批处理文件的文件。有点麻烦,如果有更简便的方法欢迎分享。

文件名字为:silent_bat.vbe

内容如下:

Java代码

set ws=wscript.createobject("wscript.shell") 
ws.run"E:
est_python.bat /start", 0

然后把 silent_bat.vbe 文件拖入启动文件夹即可。(用快捷方式也可以)

注意的几点:程序使用python2.7 系统 win7。

批处理文件需要根据你的文件存储位置进行更改。

记得加入启动文件夹。

下载本文
显示全文
专题