• Python做的眼睛护士


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

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

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

    #-*-coding:utf-8-*-
    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"]=35                 #这句话和下句话的先后顺序不会影响程序
            self.entryWorkWidget.pack(side='top')
            
            self.entryRelaxWidget=Tkinter.Entry(self.frame,text=contentsRelax)
            contentsRelax.set('input relaxTime here:')
            self.entryRelaxWidget.config(width=35)
            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=0
        relaxTime=0
        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,0,-1):
                self.Label1["text"]=j
                self.root.update()
                time.sleep(1)
                
            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()
  • 相关阅读:
    ORM版,学生信息管理单表查询..
    回顾
    连接不上数据库
    CI缓存文件的处理和显示 研究
    php的两个符号@和&---php总会要知道的系列
    form 表单
    CI 目录下放置index.html,防止直接访问
    程序员必须知道的10大基础实用算法及其讲解
    memached 服务器lru算法
    centos 5.5 安装 lnmp
  • 原文地址:https://www.cnblogs.com/wangjiyuan/p/Pythonyanjinghushi.html
Copyright © 2020-2023  润新知