`

Python实现定时弹窗提醒

阅读更多

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

       其实自己想的就是到时间以后弹窗提示休息就可以了。后来想想还是自己做一个吧。当然首选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()

 

 程序主要参考网络,主要参考的博客如下:

http://www.lijiejie.com/tkinter-center-root-window/

http://www.jbxue.com/article/6730.html

http://www.sharejs.com/codes/python/8165

http://www.cnblogs.com/leaf1117/p/3419640.html

 

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

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

    文件名为:rest_python.bat

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

python E:\rest.py 

 

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

    文件名字为:silent_bat.vbe

    内容如下:

   

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

 

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

 

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

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

                        记得加入启动文件夹。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics