[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) 用户可以按以下步骤进行操 ...
随机推荐
- C++ typedef用法详解
typedef的语法描述 在现实生活中,信息的概念可能是长度,数量和面积等.在C语言中,信息被抽象为int.float和 double等基本数据类型.从基本数据类型名称上,不能够看出其所代表的物理 ...
- CCF PTA编程培训师资认证
考试费用: 双会员500元,任意一方单会员750元,报名考试同时成为CCF专业会员850元,非会员1000元. P/T2补考费用:双会员200元,任意一方单会员300元,非会员400元. T1补考费用 ...
- 【Unity3D】UI Toolkit数据动态绑定
1 前言 本文将实现 cvs 表格数据与 UI Toolkit 元素的动态绑定. 如果读者对 UI Toolkit 不是太了解,可以参考以下内容. UI Toolkit简介 UI Toolki ...
- js滚动条滚动到底部和顶部
<!DOCTYPE html> <html> <head> <title></title> <style type="tex ...
- 虹科分享 | HPC调度解决方案:HK-Adaptive在数字卫星图像领域的应用
2011年3月11日,日本海岸附近发生了9.0级地震.这次地震引发了强大的海啸,并向内陆传播了6英里,不仅使地球的轴心偏移了大约10到25厘米,还导致福岛核电站发生核紧急情况. 为了减少这场灾害的损失 ...
- Chromium GPU资源共享
资源共享指的是在一个 Context 中的创建的 Texture 资源可以被其他 Context 所使用.一般来讲只有相同 share group Context 创建的 Texture 才可以被共享 ...
- MySQL系列:binlog日志详解(参数、操作、GTID、优化、故障演练)
目录 简介 作用 系统参数 --log_bin --server_id --binlog_format --sync-binlog(双一标准) --gtid-mode(gtid) --enforce- ...
- react 16.3生命周期更新解析
React v16.3虽然是一个小版本升级,但是却对React组件生命周期函数有巨大变化. 文章梗概 新版本+2-3个生命周期. 为什么增加那2个生命周期? 为什么减去之前3个生命周期? 相关知识延伸 ...
- linux 使用crontab 创建定时任务
转载请注明出处: 在服务器中需要创建一个定时任务,每天执行去清理很早之前备份的文件,所以想到在linux上创建一个shell脚本,通过linux的 crontab 命令定时去执行该shell脚本,从而 ...
- 【PySide6】QChart笔记(三)—— QPieSeries的使用
一.QPieSeries简介 1. 官方描述 https://doc.qt.io/qtforpython-6/PySide6/QtCharts/QPieSeries.html 一个饼图序列(QPieS ...