python中tkinter实现定时关机的方法
短信预约 -IT技能 免费直播动态提醒
这篇文章给大家分享的是有关python中tkinter实现定时关机的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
python可以做什么
Python是一种编程语言,内置了许多有效的工具,Python几乎无所不能,该语言通俗易懂、容易入门、功能强大,在许多领域中都有广泛的应用,例如最热门的大数据分析,人工智能,Web开发等。
很早以前写的,懒得修改,代码很简单,适合初学者
运行效果图如下:
使用注意
设定时间后点击开始即可实现定时关机,同时窗口也会关闭
想要取消关机的话,再次打开,点取消即可
代码如下
import os,time# import multiprocessingimport threadingfrom tkinter import *from tkinter import ttkimport tkinter.messagebox as message_boxwindow =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') h3 = mytime[0:2] m2 = mytime[3:5] s2 = mytime[6:] print(h3) print(m2) print(s2) print(var.get()) print(var1.get()) # 算出距离关机时间的秒数 count_down_second=-int(h3)*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()
感谢各位的阅读!关于“python中tkinter实现定时关机的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341