时间:2021-07-01 10:21:17 帮助过:383人阅读
其实自己想的就是到时间以后弹窗提示休息就可以了。后来想想还是自己做一个吧。当然首选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:\rest.py
同时需要一个后台运行这个批处理文件的文件。有点麻烦,如果有更简便的方法欢迎分享。
文件名字为:silent_bat.vbe
内容如下:
Java代码
set ws=wscript.createobject("wscript.shell") ws.run"E:\rest_python.bat /start", 0
然后把 silent_bat.vbe 文件拖入启动文件夹即可。(用快捷方式也可以)
注意的几点:程序使用python2.7 系统 win7。
批处理文件需要根据你的文件存储位置进行更改。
记得加入启动文件夹。