• python:基于tkinter的定时关机程


    本人使用python3

    from tkinter import*
    import os
    from PIL import Image, ImageTk
    root=Tk()
    
    a=Label(root,text="输入定时的时间(h):",width=20).grid(row=1,padx=20,pady=20)
    
    e=Entry(root,width=20)
    e.grid(row=1,column=1,padx=20,pady=20)
    
    def ks():
        global e
            #e 是一个全局变量,在函数内修改它必须要加上这条语句
        val=e.get()
        c=float(val)
            #将输入的字符串化为浮点数
        if int(c)==c:
            #如果浮点数等于它的整数,那么输入的就是就是一个整型的字符。
        
            b=int(c)*3600
            a='shutdown -s -t '+str(b)
            os.system(a)else:
            b=float(val)*3600
       
        
            d=str(b)
            e=d[0:-2]
            #将b化为字符串,然后切片取小数点前的字符串,将小数点和后面的0去掉。
        
            a='shutdown -s -t '+str(e)
            os.system(a)
            print('设置成功,将在'+str(val)+'小时后关机')
            
    def qx():
        os.system('shutdown -a')
    
    Button(root,text="确定",width=20,command=ks).grid(row=2,column=0,padx=20,pady=20)
    Button(root,text="取消",width=20,command=qx).grid(row=2,column=1,padx=20,pady=20)
                                        
    mainloop()                                         
                  

    这里做的图形界面比较简单,仅仅是作为一个示范,下面谈谈我的思路,

    我将该代码分为两个部分,第一:写出在windows下的定时关机代码(先不加tkinter模块)。第二:设计自己的tkinter界面

    这里我将关机原始代码贴出来:

    import os
    def ds():
        val=input("输入定时时间(h):")
        c=float(val)
            #将输入的字符串化为浮点数
        if int(c)==c:
            #如果浮点数等于它的整数,那么输入的就是就是一个整型的字符。
        
            b=int(c)*3600
            a='shutdown -s -t '+str(b)
            os.system(a)
            print('设置成功,将在'+str(val)+'小时后关机')
        else:
            b=float(val)*3600
       
        
            d=str(b)
            e=d[0:-2]
            #将b化为字符串,然后切片取小数点前的字符串,将小数点和0去掉。
        
            a='shutdown -s -t '+str(e)
            os.system(a)
            print('设置成功,将在'+str(val)+'小时后关机')
    def qx():
        os.system('shutdown -a')
        print('取消成功')
    def tc():
        exit()
        
    while 1:
        
        sz=input("设置定时输入1|取消定时输入2|退出输入3:")
            #注意sz是一个字符串 ,
        if sz=='1':
            ds()
        if sz=='2':
            qx()
        else:
            tc()

    看一下这两段代码,当我们将这个原始代码用tkinter这个壳包起来的时候就需要稍微的改进了。大家可以自己琢磨,

    值得一提的是关于globel的用用法,我们要将输入框Entry中的字符串赋值给e,那么e就是一个全局变量,而我们要在函数里修改这个函数就必须先声明一下 globel e。

    这里的代码仅供参考,大家可自行设计,这里主要谈谈一个设计思路。

    over!

  • 相关阅读:
    CSS选择器实现搜索功能 驱动过滤搜索技术
    js实现倒计时 类似团购网站
    SQL Server系统表sysobjects介绍与使用
    四种开机的奇葩方法 设置定时开机
    sass 使用小记
    flex 弹性布局
    margin padding width height left top right bottom 百分比
    vue中canvas 实现手势密码
    babel-polyfill(解决浏览器不支持es6的问题)和es6-promise(解决不支持promise的问题)
    Ajax fetch axios的区别与优缺点
  • 原文地址:https://www.cnblogs.com/jjj-fly/p/6693163.html
Copyright © 2020-2023  润新知