Home  >  Article  >  Backend Development  >  Python implements scheduled pop-up reminders

Python implements scheduled pop-up reminders

巴扎黑
巴扎黑Original
2016-12-07 10:30:554837browse

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 < &#39;3&#39;:
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(&#39;%sx%s+%s+%s&#39; % (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.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:Python string reverseNext article:Python string reverse