컴퓨터를 자주 사용하고 몇 시간씩 앉아 있기 때문에 항상 시간을 잊어버리기 때문에 타이머 알림 소프트웨어를 찾아볼까 생각했습니다. 인터넷에서 찾아보니 경비대 같은 걸 찾아서 설치했어요. 시간이 지나면 자동으로 화면 카운트다운을 잠급니다. 기능은 좋은데 기능이 너무 많은 것 같은 느낌이 듭니다. 지금 소프트웨어를 사용하시면서 이런 생각이 들었는지 모르겠습니다. 원래는 아주 단순한 기능을 원하셨는데, 기능이 많은 소프트웨어를 많이 설치했는데 사용하는 사람이 없다는 점이 가장 안타깝습니다.
사실 제가 원하는 건 시간이 지나면 쉬도록 하는 창을 띄워주는 것이에요. 나중에는 내가 직접 만드는 게 좋겠다고 생각했어요. 물론 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
내용은 간단합니다. 한 줄만 있습니다(파이썬 버전이 여러 개인 경우 수정해주세요):
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을 사용합니다.
파일이 저장된 위치에 따라 배치 파일을 변경해야 합니다.
시작 폴더를 추가하는 것을 잊지 마세요.