版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省富阳市重点中学2026届初三第四次模拟英语试题含解析
- 湖北省恩施市思源实验校2026届高中毕业班第二次中考模拟考试语文试题含解析
- 江苏省扬州市江都区城区2026届初三入学调研考试语文试题含解析
- 山东省枣庄市滕州市滕州育才中学2026年初三下学期3月模拟考试英语试题文试题含解析
- 浙江省湖州市南浔区重点名校2025-2026学年初三质量检查英语试题含解析
- 浙江省杭州萧山回澜2025-2026学年学业水平考试语文试题含解析
- 内蒙古北京师范大乌海附属校2026年初三语文试题5月15日第7周测试题含解析
- 重症患者误吸预防与管理
- 2026年早教机构家长合同(1篇)
- DB35-T 2292-2026果树种质资源普查技术规程
- 湖北省-襄阳市区划代码
- 2024年《广西壮族自治区建筑装饰装修工程消耗量定额》(上册)
- 内分泌学重点专科汇报
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库-中(多选题部分)
- 2024ABB PIHF谐波滤波器用户手册
- DB3305∕T276-2023 生态联勤警务站建设与管理规范
- 国家职业标准 -碳排放管理员
- T-WSJD 67-2024 职业病诊断质量控制评估指南
- 销售加速公式培训课件
- 琉璃瓦施工合同协议书
- 《动物营养学》全套教学课件
评论
0/150
提交评论