[Python急救站]定时关机程序
收到朋友的请求,让我帮他做一个电脑关机程序,其实非常简单。代码如下:
import tkinter as tk # 导入tkinter模块
from tkinter import ttk # 导入ttk模块
import subprocess # 导入subprocess模块
def shutdown():
hours = hour_entry.get() # 获取时的填空中的值
minutes = minute_entry.get() # 获取分的填空中的值
seconds = second_entry.get() # 获取秒的填空中的值
try:
hours = int(hours) # 将时转换为整数
minutes = int(minutes) # 将分转换为整数
seconds = int(seconds) # 将秒转换为整数
total_seconds = hours * 3600 + minutes * 60 + seconds # 计算总秒数
if total_seconds <= 0: # 如果总秒数小于等于0
raise ValueError # 抛出值错误
subprocess.run(f"shutdown -s -t {total_seconds}") # 执行关机命令
label.config(text="计算机将在{}秒后关机".format(total_seconds)) # 更新标签文本
except ValueError:
label.config(text="请输入一个有效的时间") # 更新标签文本
# 创建窗口
window = tk.Tk() # 创建Tk窗口对象
window.title("定时关机程序") # 设置窗口标题
# 设置窗口大小
window.geometry("500x300") # 设置窗口宽度和高度
# 设置ttk主题
style = ttk.Style() # 创建ttk样式对象
style.theme_use('clam') # 使用clam主题
# 创建标签
label = ttk.Label(window, text="请输入关机时间(时:分:秒):") # 创建标签对象
label.pack() # 将标签放置到窗口中
# 创建时的填空
hour_frame = ttk.Frame(window) # 创建Frame对象
hour_frame.pack() # 将Frame放置到窗口中
hour_label = ttk.Label(hour_frame, text="时:") # 创建标签对象
hour_label.pack(side=tk.LEFT) # 将标签放置到Frame中
hour_entry = ttk.Entry(hour_frame) # 创建Entry对象
hour_entry.pack(side=tk.LEFT) # 将Entry放置到Frame中
# 创建分的填空
minute_frame = ttk.Frame(window) # 创建Frame对象
minute_frame.pack() # 将Frame放置到窗口中
minute_label = ttk.Label(minute_frame, text="分:") # 创建标签对象
minute_label.pack(side=tk.LEFT) # 将标签放置到Frame中
minute_entry = ttk.Entry(minute_frame) # 创建Entry对象
minute_entry.pack(side=tk.LEFT) # 将Entry放置到Frame中
# 创建秒的填空
second_frame = ttk.Frame(window) # 创建Frame对象
second_frame.pack() # 将Frame放置到窗口中
second_label = ttk.Label(second_frame, text="秒:") # 创建标签对象
second_label.pack(side=tk.LEFT) # 将标签放置到Frame中
second_entry = ttk.Entry(second_frame) # 创建Entry对象
second_entry.pack(side=tk.LEFT) # 将Entry放置到Frame中
# 创建按钮
button = ttk.Button(window, text="关机", command=shutdown) # 创建按钮对象
button.pack() # 将按钮放置到窗口中
# 运行窗口
window.mainloop() # 进入窗口的主循环
程序运行结果:

[Python急救站]定时关机程序的更多相关文章
- MFC定时关机程序的实现1
写个定时关机程序自用,界面简单实用,最终界面如下 第一步,新建一个MFC对话框应用程序,拖几个控件过来, 界面如下: 然后给下拉列表框,复选按钮绑定变量,以方便进行操作. CComboBox m_co ...
- C语言/python实现定时关机
1.python def shutdown(): print('(1)定时关机\n(2)取消定时关机\n(3)立即关机\n(4)关机重启') b = eval(input('请选择:\n')) if( ...
- 我的定时关机程序(MFC实现) .
原理: 利用定时器去检查,如输入的是多少分钟后关机,就根据输入的分钟数产生一个COUNT计数器,计数器一直递减,直到1,然后执行关机.如输入的是几时几分关机,那么定时器会每次都检查系统的时间和你输入的 ...
- MFC定时关机程序的实现3-最小化到托盘栏
这个定时关机运行过后默认最小化到托盘栏最好了,不用每次都去点了. 现在来看看如何将程序显示在托盘栏. 首先在头文件里声明一个变量和一个消息响应函数 //最小化到托盘栏 //第一步,生成一个成员变量,或 ...
- MFC定时关机程序的实现2-添加启动项到注册表
虽然上一篇实现了的定时关机,但是还不够完善,比如开机自动启动,然后按照配置的时间定时关机,并最小化到任务栏. 先来说开机启动怎么实现,开机启动实现的方法有好几种,比如直接在开始菜单启动项里添加一个程序 ...
- python 系统定时关机
#coding=utf-8 "shutdown at 23:00" from datetime import * import os import win32api import ...
- window 定时关机小程序bat
复制以下文本,新建txt文件并修改为bat后缀 如图: @echo off title 定时关机 echo 定时关机程序 echo ---------------------------------- ...
- C# 简单的定时关机
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- python制作电脑定时关机办公神器,另含其它两种方式,无需编程!
小编本人目前就是在电脑面前工作,常常会工作到凌晨两三点还在为自己的梦想奋斗着.有时在办公椅上就稀里糊涂睡着了,我相信有很多朋友和我一样,这样是很不好的.第一对身体不好,第二对电脑不好. 对身体 ...
- Windows: 在系统启动时运行程序、定时计划任务、定时关机
lesca今天介绍一些让系统在启动时,而非登录时,加载用户自定义的应用程序或脚本的方法,推荐度从前到后依次递减. 1. Windows任务计划(task scheduler) 用户可以按以下步骤进行操 ...
随机推荐
- 《流畅的Python》 读书笔记 231007(第二章第一部分)
第2章 数据结构 ABC语言是Python的爸爸~ 很多点子在现在看来都很有 Python 风格:序列的泛型操作.内置的元组和映射类型.用缩进来架构的源码.无需变量声明的强类型 不管是哪种数据结构,字 ...
- mooc第四单元《管理团队》单元测试
第四单元<管理团队>单元测试 返回 本次得分为:6.00/10.00, 本次测试的提交时间为:2020-08-30, 如果你认为本次测试成绩不理想,你可以选择 再做一次 . 1 判断(2分 ...
- 【京东开源项目】微前端框架MicroApp 1.0正式发布
介绍 MicroApp是由京东前端团队推出的一款微前端框架,它从组件化的思维,基于类WebComponent进行微前端的渲染,旨在降低上手难度.提升工作效率.MicroApp无关技术栈,也不和业务绑定 ...
- DASCTF X CBCTF 2023|无畏者先行(Misc WP)
justpaint 1.题目信息 FLAG被我弄丢了>_<不过,JBN应该记得,或许你能从他那得到一些线索. 附件是压缩包有密码.. 2.解题方法 暴力破解压缩包,测试长度为6,选择所有数 ...
- Redis 6 学习笔记 2 —— 简单了解订阅和发布(Pub/Sub),JDK17环境下用Jedis 4.3.1连接Redis并模拟验证码发送
REDIS pubsub -- Redis中国用户组(CRUG) 什么是发布和订阅 Redis发布订阅是一种通信模式:发送者(Pub)发送消息,订阅者(Sub)接收消息.Redis客户端可以订阅任意数 ...
- 最新 2023.2 版本 WebStorm 永久破解教程,WebStorm 破解补丁永久激活(亲测有效)
最近 jetbrains 官方发布了 2023.2 版本的 IDEA,之前的激活方法并不支持这个新的版本. 下面是最新的激活教程,激活步骤和之前是类似的,只是换用了不同的补丁文件. 本教程支持 Jet ...
- Production Environment Difference Between Development, Stage, And Production
There are three different environments that you'll probably deal with at some point. Each environmen ...
- 教你使用逻辑公式和恒等式等价改写SQL
今天同事给我一条2秒的SQL看看能不能优化. 原始SQL: SELECT pk_dept FROM aaaa WHERE 1 = 1 AND ((pk_group = '0001A1100000000 ...
- EdisonTalk.MongoProxy组件发布v0.0.6版本
大家好,我是Edison. 组件发布的背景 之前工作中需要用到MongoDB的事务操作,因此参考了一些资料封装了一个小的组件,提供基础的CRUD Repository基类 和 UnitOfWork工作 ...
- HarmonyOS 开发入门(二)
HarmonyOS 开发入门(二) 日常逼逼叨 在HarmonyOS 开发入门(一)中我们描述了 HarmonyOS 开发的语言ArKTs以及Ts简单的入门级语法操作,接下来我们进入第二部分Harmo ...