news 2026/4/27 10:50:28

python实现定时关机功能

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
python实现定时关机功能

文章目录

        • 代码
代码
importosimportsysimporttkinterastkfromtkinterimportmessagebox,ttkimportthreadingclassShutdownApp:def__init__(self,root):self.root=root self.root.title("🌙 极简定时关机助手")self.root.geometry("400x350")# 状态变量self.remaining_time=0self.countdown_active=Falseself.timer_after_id=None# --- 界面布局 ---# 1. 标题title_label=tk.Label(root,text="设置关机时间",font=("微软雅黑",16,"bold"))title_label.pack(pady=20)# 2. 输入区域input_frame=tk.Frame(root)input_frame.pack(pady=10)tk.Label(input_frame,text="分钟:",font=("微软雅黑",12)).pack(side=tk.LEFT,padx=5)self.minute_entry=tk.Entry(input_frame,width=10,font=("微软雅黑",12),justify='center')self.minute_entry.insert(0,"30")# 默认30分钟self.minute_entry.pack(side=tk.LEFT,padx=5)# 3. 按钮区域btn_frame=tk.Frame(root)btn_frame.pack(pady=20)self.start_btn=tk.Button(btn_frame,text="开始倒计时",bg="#4CAF50",fg="white",font=("微软雅黑",12),command=self.start_shutdown)self.start_btn.pack(side=tk.LEFT,padx=10)self.cancel_btn=tk.Button(btn_frame,text="取消关机",bg="#f44336",fg="white",font=("微软雅黑",12),command=self.cancel_shutdown)self.cancel_btn.pack(side=tk.LEFT,padx=10)# 4. 状态显示self.status_label=tk.Label(root,text="⏳ 等待设置...",fg="gray",font=("微软雅黑",12))self.status_label.pack(pady=20)# 窗口关闭处理self.root.protocol("WM_DELETE_WINDOW",self.on_close)defstart_shutdown(self):try:minutes=int(self.minute_entry.get())ifminutes<=0:messagebox.showwarning("输入错误","请输入大于 0 的分钟数!")return# 转换为秒self.remaining_time=minutes*60self.countdown_active=True# 更新按钮状态self.start_btn.config(state=tk.DISABLED)self.status_label.config(text=f"⏱ 将在{minutes}分钟后关机",fg="blue")# 调用系统关机命令 (Windows: shutdown -s -t 秒数)# 注意:这里只发送命令,系统会在后台倒计时# 为了安全,建议先测试命令是否有效ifsys.platform.startswith("win"):os.system(f"shutdown -s -t{self.remaining_time}")else:# Linux/Mac 需要 sudo 权限,此处仅为模拟提示print(f"模拟: 将在{minutes}分钟后关机 (实际需执行系统命令)")# 启动界面倒计时更新self.update_ui()exceptValueError:messagebox.showerror("错误","请输入有效的数字!")defupdate_ui(self):ifself.remaining_time>0andself.countdown_active:mins,secs=divmod(self.remaining_time,60)self.status_label.config(text=f"⏱ 剩余时间:{mins}{secs}秒")self.remaining_time-=1# 每隔1秒调用一次自身,非阻塞self.timer_after_id=self.root.after(1000,self.update_ui)elifself.countdown_active:# 倒计时结束self.status_label.config(text="⚠️ 系统即将关机...",fg="red")self.countdown_active=Falseself.start_btn.config(state=tk.NORMAL)defcancel_shutdown(self):ifnotself.countdown_active:# 即使界面没在动,系统后台可能已经设置了关机,所以都尝试取消pass# 调用系统取消命令 (Windows: shutdown -a)ifsys.platform.startswith("win"):os.system("shutdown -a")# 重置界面状态self.countdown_active=Falseifself.timer_after_id:self.root.after_cancel(self.timer_after_id)self.status_label.config(text="✅ 已取消关机任务",fg="green")self.start_btn.config(state=tk.NORMAL)messagebox.showinfo("成功","定时关机已取消!")defon_close(self):ifself.countdown_active:ifmessagebox.askokcancel("确认退出","当前有进行中的关机任务,确定要退出吗?\n(任务将继续在后台运行)"):self.root.destroy()else:self.root.destroy()if__name__=="__main__":root=tk.Tk()app=ShutdownApp(root)root.mainloop()

窗口即使关闭了,这个任务还会有效。
那么如何终止呢?
是这样,上述代码将shutdown指令发给了windows系统,所以要终止,还要从windows命令来入手。
win+r,输入shutdown -a,表示终止关机任务,这样就可以了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 10:49:27

专业NCM解密工具深度指南:突破网易云音乐格式限制的终极方案

专业NCM解密工具深度指南&#xff1a;突破网易云音乐格式限制的终极方案 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM加密文件无法在车载音响、第三方播放器或音频编辑软件中使用而烦恼吗&#xff1f;n…

作者头像 李华
网站建设 2026/4/27 10:48:51

1688api:通过商品ID获取商品详情数据教程

下面给你一份可直接用于开发、解析、入库的1688商品详情API 完整解析&#xff0c;包含标准返回结构、关键字段、解析要点、常见坑。1.接口基本信息接口名&#xff1a;1688.item.get。作用&#xff1a;按商品 ID 获取公开 / 授权商品详情。请求方式&#xff1a;POST&#xff08;…

作者头像 李华
网站建设 2026/4/27 10:46:43

Sciter入门教程:10分钟创建你的第一个HTML/CSS桌面程序

Sciter入门教程&#xff1a;10分钟创建你的第一个HTML/CSS桌面程序 【免费下载链接】sciter-sdk Sciter is an embeddable HTML/CSS/scripting engine 项目地址: https://gitcode.com/gh_mirrors/sc/sciter-sdk Sciter是一个强大的嵌入式HTML/CSS/脚本引擎&#xff0c;让…

作者头像 李华
网站建设 2026/4/27 10:45:32

市面上的AI写作工具鱼龙混杂,有些只能帮你换个同义词,有些号称“一键生成”却满篇是幻觉。好写作AI凭借全流程覆盖的学术写作解决方案,正在成为越来越多科研人的首选。

好写作AI官网&#xff1a;https://www.haoxiezuo.cn/ 微信公众号搜一搜“好写作AI” 论文写作工具的“江湖”&#xff1a;谁在帮你&#xff0c;谁在耽误你&#xff1f; 第一类&#xff1a;通用大模型——能聊&#xff0c;但不懂学术规则。 ChatGPT 5.0、Claude 4.5、Gemini……

作者头像 李华