使用python+Tkinter做一个自动关机的图形界面

版权声明:转载请注明出处 https://blog.csdn.net/qq_33289175/article/details/87303510

之前写了一个自动定时关机的软件,这次把它做成图形界面

https://blog.csdn.net/qq_33289175/article/details/87300783

凡是开发软件必须要走:原型--->UI-->开发-->测试,但因为软件是做给自己用的,随便凑合凑合就行了

一、第一步,在网上找一个少好看一点的图片来做UI

二、第二步,软件开发

1、tkinter已经被内置到python安装包中了,所以不用去安装了

2、导入包、创建界面类

import tkinter

win = tkinter.Tk()
win.mainloop()

在运行pycharm里运行,你就可以看到一个界面出来

3、接下来把它玩出花来

    I、设置宽高、居中显示

    II、设置窗口标题

    III、看代码,暂时先实现功能

    IV、样式优化,太晚了,下次再调整

import tkinter
import sys,os,time,datetime
import tkinter.messagebox #这个是消息框,对话框的关键
win = tkinter.Tk()
#I、设置宽高
#win.geometry("390x250")
#设置宽高、居中显示
nScreenWid, nScreenHei = win.maxsize()
nCurWid = 390
nCurHeight = 250
win.geometry("{}x{}+{}+{}".format(nCurWid, nCurHeight, int(nScreenWid/2 - nCurWid/2), int(nScreenHei/2 - nCurHeight/2)))
#设置窗口标题
win.title("定时关机小助手")
#获取系统当前时间
Label1=tkinter.Label(text=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))
Label1.pack()
def trickit():
    currentTime=time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))
    Label1.config(text=currentTime)
    win.update()
    Label1.after(1000, trickit)
Label1.after(1000, trickit)

#输入时间
l1 = tkinter.Label(win, text="请输入小时")  # 标签
l1.pack()
inputhour=tkinter.Entry(win,bd='0',width='10')
inputhour.pack()

l2 = tkinter.Label(win, text="请输入分钟")  # 标签
l2.pack()
inputminute=tkinter.Entry(win,bd='0',width='10')
inputminute.pack()
def gettime():
    hour = int(inputhour.get())  # 获取文本框内容
    minute = int(inputminute.get())
    print(hour,minute)
    '''获取当前时分秒'''
    curtime = datetime.datetime.now()
    curtime_hour = curtime.hour
    curtime_minute = curtime.minute

    '''计算秒数,先换算成时再相减'''
    hours = ((hour + (minute / 60)) - (curtime_hour + curtime_minute / 60))
    minutes = hours * 60
    seconds = hours * 60 * 60
    print("距离关机还有%d分钟" % minutes)
    tkinter.messagebox.showinfo('提示', "距离关机还有%d分钟" % minutes)
    os.system('shutdown -s -t %d' % seconds)
tkinter.Button(win,text="确定",command=gettime).pack() #command绑定获取文本框内容方法

def off():
    if os.system("shutdown -a") ==1116:
        print("因为没有任何进行中的关机过程,所以无法中止系统关机。(1116)")
        tkinter.messagebox.showinfo('提示', "您当前没有设置关机任务")
    else:
        print("取消成功")
        tkinter.messagebox.showinfo('提示', "取消成功")

tkinter.Button(win,text="取消关机",command=off).pack() #取消关机


win.mainloop()

tkinter写界面UI太丑了,改成pyqt5做

打包成exe文件

https://mp.csdn.net/postedit/87301625

这时候exe文件运行时会弹出dos,如果不想要,在打包时改成

pyinstaller --noconsole --onefile 定时关机小助手.py

参考文章:

https://www.jianshu.com/p/311749e3b91a

http://www.runoob.com/python/python-gui-tkinter.html

猜你喜欢

转载自blog.csdn.net/qq_33289175/article/details/87303510