python:基于tkinter的定时关机程
本人使用python3
from tkinter import*
import os
from PIL import Image, ImageTk
root=Tk() a=Label(root,text="输入定时的时间(h):",width=20).grid(row=1,padx=20,pady=20) e=Entry(root,width=20)
e.grid(row=1,column=1,padx=20,pady=20) def ks():
global e
#e 是一个全局变量,在函数内修改它必须要加上这条语句
val=e.get()
c=float(val)
#将输入的字符串化为浮点数
if int(c)==c:
#如果浮点数等于它的整数,那么输入的就是就是一个整型的字符。 b=int(c)*3600
a='shutdown -s -t '+str(b)
os.system(a)else:
b=float(val)*3600 d=str(b)
e=d[0:-2]
#将b化为字符串,然后切片取小数点前的字符串,将小数点和后面的0去掉。 a='shutdown -s -t '+str(e)
os.system(a)
print('设置成功,将在'+str(val)+'小时后关机') def qx():
os.system('shutdown -a') Button(root,text="确定",width=20,command=ks).grid(row=2,column=0,padx=20,pady=20)
Button(root,text="取消",width=20,command=qx).grid(row=2,column=1,padx=20,pady=20) mainloop()
这里做的图形界面比较简单,仅仅是作为一个示范,下面谈谈我的思路,
我将该代码分为两个部分,第一:写出在windows下的定时关机代码(先不加tkinter模块)。第二:设计自己的tkinter界面
这里我将关机原始代码贴出来:
import os
def ds():
val=input("输入定时时间(h):")
c=float(val)
#将输入的字符串化为浮点数
if int(c)==c:
#如果浮点数等于它的整数,那么输入的就是就是一个整型的字符。 b=int(c)*3600
a='shutdown -s -t '+str(b)
os.system(a)
print('设置成功,将在'+str(val)+'小时后关机')
else:
b=float(val)*3600 d=str(b)
e=d[0:-2]
#将b化为字符串,然后切片取小数点前的字符串,将小数点和0去掉。 a='shutdown -s -t '+str(e)
os.system(a)
print('设置成功,将在'+str(val)+'小时后关机')
def qx():
os.system('shutdown -a')
print('取消成功')
def tc():
exit() while 1: sz=input("设置定时输入1|取消定时输入2|退出输入3:")
#注意sz是一个字符串 ,
if sz=='':
ds()
if sz=='':
qx()
else:
tc()
看一下这两段代码,当我们将这个原始代码用tkinter这个壳包起来的时候就需要稍微的改进了。大家可以自己琢磨,
值得一提的是关于globel的用用法,我们要将输入框Entry中的字符串赋值给e,那么e就是一个全局变量,而我们要在函数里修改这个函数就必须先声明一下 globel e。
这里的代码仅供参考,大家可自行设计,这里主要谈谈一个设计思路。
over!
python:基于tkinter的定时关机程的更多相关文章
- Python 代码控制Windows定时关机
为了在规定时间内实现电脑关机,我使用python编写了几行代码,最简单的实现了关机操作,后续再进行其它功能的添加(操作页面,取消等) import os,time #获取命令行输入的关机时间 inpu ...
- Python基于tkinter.messagebox实现简易消息框、对话框
库导入: import tkinter import tkinter.messagebox 有关提示框: tkinter.messagebox.showinfo(title=None, message ...
- python制作电脑定时关机办公神器,另含其它两种方式,无需编程!
小编本人目前就是在电脑面前工作,常常会工作到凌晨两三点还在为自己的梦想奋斗着.有时在办公椅上就稀里糊涂睡着了,我相信有很多朋友和我一样,这样是很不好的.第一对身体不好,第二对电脑不好. 对身体 ...
- C语言/python实现定时关机
1.python def shutdown(): print('(1)定时关机\n(2)取消定时关机\n(3)立即关机\n(4)关机重启') b = eval(input('请选择:\n')) if( ...
- 利用DOS批处理实现定时关机操作
10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电.原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电, ...
- Python PEP 492 中文翻译——协程与async/await语法
原文标题:PEP 0492 -- Coroutines with async and await syntax 原文链接:https://www.python.org/dev/peps/pep-049 ...
- python并发编程之gevent协程(四)
协程的含义就不再提,在py2和py3的早期版本中,python协程的主流实现方法是使用gevent模块.由于协程对于操作系统是无感知的,所以其切换需要程序员自己去完成. 系列文章 python并发编程 ...
- Windows: 在系统启动时运行程序、定时计划任务、定时关机
lesca今天介绍一些让系统在启动时,而非登录时,加载用户自定义的应用程序或脚本的方法,推荐度从前到后依次递减. 1. Windows任务计划(task scheduler) 用户可以按以下步骤进行操 ...
- python之gevent模块实现协程
Python通过yield提供了对协程的基本支持,但是不完全.而第三方的gevent为Python提供了比较完善的协程支持. gevent是第三方库,通过greenlet实现协程,其基本思想是: 当一 ...
随机推荐
- mysql学习【第3篇】:使用DQL查询数据
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第3篇]:使用DQL查询数据 DQL语言 DQL( Data Query Lan ...
- MySQL 数据库登录查询
1. 进入到bin目录: 键入cd..,一直到出现C:\ 为止 然后cd bin所在路径: 如: C:\cd C:\Program Files\MySQL\MySQL Server 5.7 ...
- 20165225《Java程序设计》第六周学习总结
20165225<Java程序设计>第六周学习总结 1.视频与课本中的学习: - 第八章学习总结 String类 String对象(常量,对象) 字符串并置(结果仍是常量) 常用方法 le ...
- 牛客网Wannafly挑战赛25A 因子 数论
正解:小学数学数论 解题报告: 传送门 大概会连着写几道相对而言比较简单的数学题,,,之后就会比较难了QAQ 所以这题相对而言还是比较水的,,, 首先这种题目不难想到分解质因数趴,, 于是就先对p和n ...
- 怎么使用JavaScript进行进制转换
JS 是一个很神奇的语言,内制的的很多函数可以帮我们进行数(进)制转换: JS中可以直接使用16进制: var a = 0xff; //255 将任意进制字符串转换为十进制,如二进制,八进制,十六进制 ...
- Unable to cast COM object of type 'Shell32.ShellClass' to interface type 'Shell32.IShellDispatch6'.
VS 里面的Interop.Shell32.dll(1.0) 这个版本太低了,需要高版本的(我使用的是1.2.107.0) 具体下载地址 自己找吧
- MSDN、OEM、VOL、RETAIL密钥区别
本文就介绍一下Windows的密钥的一些使用要点及注意事项,涉及到最常用的MSDN密钥.OEM密钥.VOL密钥和零售密钥激活问题,希望对大家有所帮助. 一.MSDN密钥 MSDN密钥是付费用户提前获得 ...
- axios的使用
一.首先要安装axios npm install axios 使用: -先在main中配置: import axios from 'axios' //要把axios放进一个全局变量中 //把axios ...
- resful规范
1.简介 什么是resful resful是一个规范,说白了就是面向资源编程,把网络中所有的东西,想象成资源 2.规范 10条规范 1)API与用户的通信协议,总是用HTTPS协议:HTTPS比htt ...
- git add 所有文件
git add 多个文件的格式介绍 git提交修改之前要add然后commit,假如我用git clone远程服务器文件到本地,然后我如果修改了其中几个文件要提交,我必须一个个的如: $git add ...