Python中基于tkinter如何实现定时关机,注意要点有什么
Admin 2022-07-06 群英技术资讯 505 次浏览
本文实例为大家分享了python tkinter实现定时关机的具体代码,供大家参考,具体内容如下
很早以前写的,懒得修改,代码很简单,适合初学者
运行效果图如下:
import os,time # import multiprocessing import threading from tkinter import * from tkinter import ttk import tkinter.messagebox as message_box window =Tk() window.title('auto_shutdown') window.geometry('240x180') window.resizable(False, False) window.update() var = StringVar() var1 = StringVar() var2 = StringVar() # 设置func为守护线程 def funcs(): t = threading.Thread(target=func) t.setDaemon(True) t.start() # 执行自动关机指令 def func(): #弹出messagebox警告提示 message_box.showwarning("Warning", "Your pc will shutdown at %s : %s" % (var.get(),var1.get())) print('wohaizai') mytime = time.strftime('%H:%M:%S') h2 = mytime[0:2] m2 = mytime[3:5] s2 = mytime[6:] print(h2) print(m2) print(s2) print(var.get()) print(var1.get()) # 算出距离关机时间的秒数 count_down_second=-int(h2)*3600-int(m2)*60-int(s2)+int(var.get())*3600+int(var1.get())*60+int(var2.get()) # 如果关机设置在第二天,结果加86400(一天的总秒数) if count_down_second<0: count_down_second=count_down_second+86400 os.system("shutdown -s -t %s" % count_down_second) print(count_down_second) window.quit() # 快捷关机选项入口 def fun_set1(): cb_h.current(18) def fun_set2(): cb_h.current(21) def fun_set3(): cb_h.current(22) def fun_set4(): cb_h.current(23) def funcq(): os.system('shutdown -a') # 定义三个容器,方便布局 root = ttk.LabelFrame(window, text="定时关机") root.grid(column=0, row=0,padx=2, pady=2) root1 = ttk.LabelFrame(window, text="常用时间") root1.grid(column=1, row=0,padx=2, pady=2) root2 = ttk.LabelFrame(window, text="开始") root2.grid(column=0, row=1,columnspan=2,padx=2, pady=2) Label(root,text=':').grid(column=1, row=0,padx=2, pady=5) cb_h = ttk.Combobox(root,width=3,textvariable =var) a = [] for i in range(10): a.append(('0'+str(i))) for i in range(10,24): a.append(i) cb_h['values'] =tuple(a) cb_h.current(0) cb_h.grid(column=0, row=0,padx=2, pady=5) cb_m = ttk.Combobox(root,width=3,textvariable =var1) b = [] for i in range(10): b.append('0'+str(i)) for i in range(10,60): b.append(str(i)) cb_m['values'] =tuple(b) cb_m.current(0) cb_m.grid(column=2, row=0,padx=2, pady=5) cb_s = ttk.Combobox(root,width=3,textvariable =var2) c = [] for i in range(10): c.append('0'+str(i)) for i in range(10,60): c.append(str(i)) cb_s['values'] =tuple(c) cb_s.current(0) cb_s.grid(columnspan=3, row=1,padx=2, pady=6) Button(root1,text = '18:00',command = fun_set1).grid(column=0, row=0,padx=2, pady=2) Button(root1,text = '21:00',command = fun_set2).grid(column=1, row=0,padx=2, pady=2) Button(root1,text = '22:00',command = fun_set3).grid(column=0, row=1,padx=2, pady=2) Button(root1,text = '23:00',command = fun_set4).grid(column=1, row=1,padx=2, pady=2) b1=Button(root2,text = '开始',command = funcs,height =2,width =6) b1.grid(column=0, row=0,padx=24, pady=2) b1=Button(root2,text = '取消',command = funcq,height =2,width =6) b1.grid(column=1, row=0,padx=24, pady=2) root.mainloop()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
在Python中,如果我们想要在遍历一组数据的过程中,对这组数据进行修改,通常会出现许多问题,例如对列表进行上述操作时, 会忽略部分数据;遍历字典时,不能修改数据。本文针对这些问题,提出了多种解决方案。
这篇文章主要为大家详细介绍了Python实现环形链表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
python中执行翻译操作的包是translate包,通过下载安装translate包,使用translate模块可以在python中实现多种语言直接的相互翻译。
tfrecord是tensorflow中常用的数据打包格式,这篇文章给大家介绍的就是关于tfrecord文件的生成和读取,本文有具体以及步骤,具有的一定的参考价值,需要的朋友可以参考学习。
这篇文章介绍了Python网络编程之HTTP客户端模块urllib与urllib3,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008