收到朋友的请求,让我帮他做一个电脑关机程序,其实非常简单。代码如下:

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急救站]定时关机程序的更多相关文章

  1. MFC定时关机程序的实现1

    写个定时关机程序自用,界面简单实用,最终界面如下 第一步,新建一个MFC对话框应用程序,拖几个控件过来, 界面如下: 然后给下拉列表框,复选按钮绑定变量,以方便进行操作. CComboBox m_co ...

  2. C语言/python实现定时关机

    1.python def shutdown(): print('(1)定时关机\n(2)取消定时关机\n(3)立即关机\n(4)关机重启') b = eval(input('请选择:\n')) if( ...

  3. 我的定时关机程序(MFC实现) .

    原理: 利用定时器去检查,如输入的是多少分钟后关机,就根据输入的分钟数产生一个COUNT计数器,计数器一直递减,直到1,然后执行关机.如输入的是几时几分关机,那么定时器会每次都检查系统的时间和你输入的 ...

  4. MFC定时关机程序的实现3-最小化到托盘栏

    这个定时关机运行过后默认最小化到托盘栏最好了,不用每次都去点了. 现在来看看如何将程序显示在托盘栏. 首先在头文件里声明一个变量和一个消息响应函数 //最小化到托盘栏 //第一步,生成一个成员变量,或 ...

  5. MFC定时关机程序的实现2-添加启动项到注册表

    虽然上一篇实现了的定时关机,但是还不够完善,比如开机自动启动,然后按照配置的时间定时关机,并最小化到任务栏. 先来说开机启动怎么实现,开机启动实现的方法有好几种,比如直接在开始菜单启动项里添加一个程序 ...

  6. python 系统定时关机

    #coding=utf-8 "shutdown at 23:00" from datetime import * import os import win32api import ...

  7. window 定时关机小程序bat

    复制以下文本,新建txt文件并修改为bat后缀 如图: @echo off title 定时关机 echo 定时关机程序 echo ---------------------------------- ...

  8. C# 简单的定时关机

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  9. python制作电脑定时关机办公神器,另含其它两种方式,无需编程!

      小编本人目前就是在电脑面前工作,常常会工作到凌晨两三点还在为自己的梦想奋斗着.有时在办公椅上就稀里糊涂睡着了,我相信有很多朋友和我一样,这样是很不好的.第一对身体不好,第二对电脑不好.   对身体 ...

  10. Windows: 在系统启动时运行程序、定时计划任务、定时关机

    lesca今天介绍一些让系统在启动时,而非登录时,加载用户自定义的应用程序或脚本的方法,推荐度从前到后依次递减. 1. Windows任务计划(task scheduler) 用户可以按以下步骤进行操 ...

随机推荐

  1. [NISACTF 2022]level-up

    [NISACTF 2022]level-up 查看源码,根据这个提示就可以反应出是需要去访问robots.txt这个文件 访问level_2_1s_h3re.php进入第二关 需要post进去arra ...

  2. unity利用Rigibody实现第一人称移动

    1. CameraRotation脚本,将它给MainCamera,实现上下视角旋转 using System.Collections; using System.Collections.Generi ...

  3. ELK-日志收集-Kibana WEB安全认证

    1.ELK收集MYSQL日志实战: 日志收集存放目录位置: /usr/local/logstash/config/etc/   1)日志采集-存入redis缓存数据库:mysql-redis.conf ...

  4. 推荐一款“自学编程”的宝藏网站!详解版~(在线编程练习,项目实战,免费Gpt等)

    云端源想学习平台,一站式编程服务网站云端源想官网传送门 精品课程:由项目实战为导向的视频课程,知识点讲解配套编程练习,让初学者有方向有目标. 课程阶段:每门课程都分多个阶段进行,由浅入深,很适合零基础 ...

  5. 7/10 luoguRound 10 庆典 div3T1

    #include<bits/stdc++.h> using namespace std; int m,n,x; int arr[100005]; int maxi = -1,maxn = ...

  6. JUC并发编程学习(五)集合类不安全

    集合类不安全 List不安全 单线程情况下集合类和很多其他的类都是安全的,因为同一时间只有一个线程在对他们进行修改,但是如果是多线程情况下,那么集合类就不一定是安全的,可能会出现一条线程正在修改的同时 ...

  7. JAVA类的加载(4) ——类之间能够隔离&类占用的资源能回收

    一.类加载体系

  8. .Net Core 3.1 服务端配置跨域

    一.在Startup.cs 的 ConfigureServices 配置好跨域策略 原文链接:https://www.jianshu.com/p/534b9a6a6ed5 public void Co ...

  9. Python入门--字符串

    字符串的使用和C语言 .java中一致 .使用" "(双引号)并且字符串可以与数字相乘,表示我使用这个字符串次数 字符串的连接:'+' Python中的变量直接赋值即可 ,如果赋予 ...

  10. C#/.NET/.NET Core推荐学习书籍(已分类)

    前言 古人云:"书中自有黄金屋,书中自有颜如玉",说明了书籍的重要性.作为程序员,我们需要不断学习以提升自己的核心竞争力.以下是一些优秀的C#/.NET/.NET Core相关学习 ...