python编程实践-关机助手_第1页
python编程实践-关机助手_第2页
python编程实践-关机助手_第3页
python编程实践-关机助手_第4页
python编程实践-关机助手_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Python编程实践一一关机助手

工具及编程环境

1.Python3.10.2

2.VisualStudioCode

--python界面编程•视窗工具-thinker库

Tkinter模块(”Tk接口。是Python的标准TkGUI工具包的接口

使用方法irnporlthinker

一些简单工具简单界面的编程使用thinker绰绰有余

三.关机助手界面

这一个实践我们不需要使用其他任何第三方库,完全使用python自带的工具,编写一个视

窗化的关机助手。

关机助手的模样:

大家可以根据自己的喜好去编写视窗,编写功能函数。

计时器一口X

关机倒计时

当前时间:16:33:12

剩余时间:03:59:56

取消设置返回设置

设置四个小时,电脑自动关机

四.程序源代码

这里涉及一个比较重要的基本编程:多界面切换,功能函数

下面的是完全的代码大家可以将他拆分成几个模块,来实现。

1.一个简单的界面2.两个界面切换3.功能函数编写

#关机助手

fromtkinterimport*

importtkinter

importos

importtime

fromtkinterimportmessagebox

defforml():#第1个窗体:登录窗体

deffunbottonl():

try:

try:

hour=abs(int(shutdownhour.get().strip()))

try:

minute=abs(int(shutdownminute.get().strp()))

shutdowntime=3600*hour+60*minute

#os.system('shutdown-s-t%s'%shutdowntime)

rootl.destroy()#关闭登录窗体

form2(hour,minute)it进入第2个窗体:主窗体

except:

minute=0

shutdowntime=3600*hour+60*minute

#os.system('shutdown-s-t%s'%shutdowntime)

rootl.destroy()#关闭登录窗体

form2(hour,minute)It进入第2个窗体:主窗体

except:

hour=0

minute=abs(int(shutdownminute.get().strip()))

shutdowntime=3600*hour+60*minute

#os.system(shutdown-s-t%s'%shutdowntime)

rootl.destroy()关闭登录窗体

form2(hour,minute)#进入第2个窗体:主窗体

exceptValueError:

messagebox.showwarning("警告:,"设置错误!。

return

deffunbutton3():

try:

shutdowntime=3600*l

os.system('shutdown-s-t%s'%shutdowntime)

hour=l

minute=0

rootl.destroy()#关闭登录窗体

form2(hour,minute)#进入第2个窗体:主窗体

exceptValueError:

messagebox.showwaming("警告、"设置错误!。

deffunbutton4():

try:

shutdowntime-3G00*2

os.system('shutdown-s-t%s'%shutdowntime)

hour=2

minute=0

rootl.destroyO#关闭登录窗体

form2(hour,minute)#进入第2个窗体:主窗体

exceptValueError:

messagebox.showwaming("警告门"设置错误!。

deffunbutton5():

try:

shutdowntime=3600*3

os.system('shutdown-s-t%s'%shutdowntime)

hour=3

minute=0

rootl.destroyO#关闭登录窗体

form2(hour,minute)#进入第2个窗体:主窗体

exceptValueError:

messagebox.showwarning("警告:","设置错误!")

deffunbutton6():

shutdowntime=3600*4

defform2(hour,minute):#第2个窗体:主窗体

deffunbotton7():

os.system('shutdown-a')

#root2.destroy()#关闭窗口

deffunbotton8():

root2.destroy。#关闭窗口

forml()

#root2.destroy()#关闭窗口

defrefresh_current_t<me{):

clock_time=time.strftime('%H:%M:%S')

curr_time.config(text=clock_time)

curr_time.after(1000,refresh_current_time)

defrefresh_down_time():

#当前时间戳

now_time=int(time.time())

#下班时间时分秒数据过滤

work_hour_val=int(hour)

work_minute_val=int(minute)

work_second_val=int(work_second.get())

#下班时间转为时间戳

work_date=str(work_hour_val)++str(work_minute_val)++

str(work_second_val)

work_str_time=timestrftime('%Y-%m-%d')+work_date

time_array=time.strptime(work_str_time,"%Y-%m-%d%H:%M:%S")

#距离下班时间剩余秒数

diff_time=int(time_array.tm_hour*3600+time_array.tm_min*60)

whilediff_time>-1:

#获取倒计时-时分秒

down_minute=diff_time//60

down_second=diff_time%60

down_hour=0

ifdown_minute>60:

down_hour=down_minute//60

down_minute=down_minute%60

downtime=str(down_hour).zfill(2)++str(down_minute).zfill(2)++

str(down_second).zfill(2)

down_label.config(text=down_time)

root2.update()

time.sleep(l)

ifdiff_time==0:

down_labeLconfig(text='倒计时结束')

break

diff_time-=1

#设置页面数据

root2=tkinter.Tk()

root2.resizable(width=False,height=False)#禁止改变窗口大小

root2.minsize(360,200)

#root2.iconbitmap(os.path.join("img","shutdownhelper.ico"))〃设置程序图标,新手可以

自己去学习一下

root2.config(bg='black')

root2.title('计时器')

Iabel5=tkinter.Labelfroot2,text='关机倒计时',bg='black',font='宋体25',fg=,green,)

labels.place(x=100,y=20)

取消设置

button7=tkinter.Button(root2,text=""/command=funbotton7,bg='black',font='^

体18\fg='green')#取消设置

button7.place(x=30,y=140)

button7=tkinter.Button(root2,text="返回设置",command=funbotton8,bg='black/ont='宋

体18',fg='green')#返回设置

button7.place(x=180,y=140)

#设置当前时间

'宋体'当前时间:

Label(root2,font=2O'/bg='black'/text=',fg='green').place(x=50,y=60)

curr_time=Label(root2,font='宋体20',text=",fg='green\bg='black')

curr_time.place(x=180,y=60)

ft下班时间•秒数

work_second=StringVar()

Entry(root2,textvariable=v/ork_second,width=2,font='宋体12')

work_second.set('00')

#设置剩余时间

Iabel6=tkinter.label(root2,font='宋体20',text='剩余时间:bg='black',fg='green')

label6.place(x=50,y=100)

downjabel=Label(root2,font='宋体20',text=",fg='green',bg='black')

down_label.place(x=180,y=100)

refresh_current_time()

refresh_down_time()

root2.mainloop()

if_name_=="_main_

forml()#先进入设置窗口

五.程序封装

这次学习将一个python主程序文件封装成一个完全的可执行的exe文件

工具:第三方模块pyinstaller

没有安装的化,首先需要安装一下第三方模块pyinstaller

Pyinstaller三个重要的打包指令:

-w指令

直接发布的exe应用带命令行调试窗口,在指令内加入加命令可以屏蔽:

-F指令

注意指令区分大小写。这里是大写。使用-F指令可以把应用打包成一个独立的exe文件,否

则是一个带各种dll和依赖文件的文件夹;

-P指令

这个指令后面可以增加pyinstaller搜索模块的路径。因为应用打包涉及的模块很多。这里可

以自己添加路径。

最常使用-F指令,使用的语法是:pyinstaller-F(python程序名称卜pv

D:)>python^4>pythonshutdownhelperP

名称人▼

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论