Python做的眼睛护士

时间:2023-03-08 19:59:45

搞了两天终于搞定了,虽然还存在一点点小问题(窗口的显示位置应该设在(0,0))。但基本可以用了。

代码分两个部分。主界面和遮挡屏幕界面。主界面设置完时间后调用遮挡屏幕界面。

1.主界面(设置 工作时间 和 休息时间(单位为:秒))

#-*-coding:utf--*-
import Tkinter,time,tkMessageBox,sys,BeBigModule
class MainFrame:
def __init__(self):
self.frame=Tkinter.Frame()
self.frame.pack() contentsWork=Tkinter.StringVar()
contentsRelax=Tkinter.StringVar() self.entryWorkWidget=Tkinter.Entry(self.frame,text=contentsWork)
contentsWork.set('input workTime here:')
self.entryWorkWidget["width"]= #这句话和下句话的先后顺序不会影响程序
self.entryWorkWidget.pack(side='top') self.entryRelaxWidget=Tkinter.Entry(self.frame,text=contentsRelax)
contentsRelax.set('input relaxTime here:')
self.entryRelaxWidget.config(width=)
self.entryRelaxWidget.pack(side='top') self.startButton=Tkinter.Button(self.frame,text="OK",command=self.start)
self.startButton.pack(side='left') self.quitButton=Tkinter.Button(self.frame,text="Exit",command=self.quit)
self.quitButton.pack(side='right')
self.frame.mainloop()
def start(self):
workTime=self.entryWorkWidget.get().strip()
workTimeNum=int(workTime)
# self.frame.deiconify()
# self.frame.withdraw
relaxTime=self.entryRelaxWidget.get().strip()
relaxTimeNum=int(relaxTime) self.frame.destroy()
beBigFrame=BeBigModule.BeBig(workTimeNum,relaxTimeNum) def quit(self):
pass
# root=Tkinter.Tk()
# root.title("CountDowm")
#
# mainFrame=MainFrame(root)
# root.mainloop()
mainFrame=MainFrame()
#目前来看就剩个问题了,怎么设定窗口的显示位置

2.遮挡屏幕界面

import Tkinter,sys,time
class BeBig():
workTime=
relaxTime=
root=Tkinter.Tk()
Label1=Tkinter.Label(root,text=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
def __init__(self,workTimeNum,relaxTimeNum):
self.workTime=workTimeNum
self.relaxTime=relaxTimeNum
self.root.minsize(self.root.winfo_screenwidth(), self.root.winfo_screenheight())
#self.root.geometry('300x200-100-100')
self.root.config(bg='black') self.Label1.pack(side='top')
topTitle=self.root.winfo_toplevel()
topTitle.overrideredirect(True)
self.trickit(self.relaxTime,self.workTime)
self.root.mainloop()
def trickit(self,relaxTime,workTime):
for j in range(relaxTime,,-):
self.Label1["text"]=j
self.root.update()
time.sleep() self.root.withdraw()
time.sleep(workTime)
self.root.minsize(self.root.winfo_screenwidth(), self.root.winfo_screenheight())
self.root.update()
self.root.deiconify()
self.trickit(self.relaxTime,self.workTime)
# beBig.beBig()