Home > Article > Backend Development > Python implements scheduled pop-up reminders
I often use the computer and sit for hours at a time. I always forget the time, so I thought about finding a timer reminder software. I looked online and found a lot of them. I found a guard or something and installed it. Automatically lock screen countdown after the time is up. It has good features but it feels like it has too many features. I don’t know if you feel this way when you use software now. You originally want a very simple function, but the worst thing is that you have installed a lot of software with a lot of functions but no one you use.
Actually, what I want is to pop up a window to prompt me to take a rest after the time is up. Later I thought I might as well make one myself. Of course, the Python language is preferred.时 First of all, the specific code of time pop -up window is required:
The program uses its own Tkinter does not need to install the main functions of other packaging programs: 1. Automatically timing after startup 2. After the timing is completed, the pop -up window is prompted ( The default time is 30 minutes) 3. Click OK and restart the timer
There are some problems with the program: 1. The interface is simple and unrefined (but I think the function is achieved first) 2. The timer cannot be automatically stopped during sleep
# -*- 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()
If Under win, you may need to consider how to run it automatically.
I am using a batch file. The details are as follows:
File name: rest_python.bat
The content is simple, just one line (if there are multiple python versions, please modify it):
Java code
python E:\rest.py
At the same time, a file is needed to run this batch file in the background . It's a bit troublesome. If there is an easier way, please share it.
The file name is: silent_bat.vbe
The content is as follows:
Java code
set ws=wscript.createobject("wscript.shell") ws.run"E:\rest_python.bat /start", 0
Then drag the silent_bat.vbe file into the startup folder. (You can also use shortcuts)
A few points to note: The program uses python2.7 system win7.
to be processed will need to be changed based on where your files are stored.动 Remember to join the startup folder.