就不多介绍了,直接上代码吧。

#coding:utf-8
import datetime, time, os, wx
import tkinter, threading
from tkinter import * #控件基础包#全局变量
stopFlag = False;
winWidth = 0;
winHeight = 0;#倒计时
def countdown(flag):value_s = var_s.get();try:seconds = int(value_s);#操作if flag == "shut":shutdown(value_s);else:restart(value_s);#显示倒计时show_countdown(seconds);except:label_pro.config(text="请输入正确的数字。");root.update();return;#显示倒计时
def show_countdown(seconds):global stopFlag;stopFlag = False;while seconds > 0:if stopFlag:break;time.sleep(1);seconds = seconds - 1;label_pro.config(text="关机倒计时: "+str(seconds)+" 秒");root.update();#关机操作
def shutdown(seconds):os.system("shutdown -s -f -t "+seconds);#重启操作
def restart(seconds):os.system("shutdown -r -f -t "+seconds);#终止关机操作
def stopdown():global stopFlag;stopFlag = True;os.system("shutdown -a");#退出操作
def exit():still.set(0);thread.join(0.2);root.destroy();#关闭窗口#获取当前时间
def getDateTime():while still.get()==1:dateTime = datetime.datetime.now();hourStr = addZero(dateTime.hour);minuteStr = addZero(dateTime.minute);secondStr = addZero(dateTime.second);timeValue = hourStr+':'+minuteStr+':'+secondStr;label_time.config(text='当前时间:'+timeValue); #显示当前时间time.sleep(0.2);#补零
def addZero(number):valueStr = str(number);if number < 10:valueStr = "0"+valueStr;return valueStr;#获取屏幕分辨率
def getScreenResolution():app = wx.App();screenArr = wx.DisplaySize()app.MainLoop();return screenArr;#设置软件透明度
def setScreenTransparent(ev=None):scaleValue = scale.get();root.attributes('-alpha',scaleValue/100);#半透明if __name__ == '__main__':#屏幕分辨率screenArr = getScreenResolution();winWidth = screenArr[0];winHeight = screenArr[1];###grid布局###root = tkinter.Tk();root.title("定时关机");root.geometry('200x160+'+str(winWidth-230)+'+'+str(winHeight-210));#初始大小与位置root.attributes('-topmost',1);#总是在顶端root.overrideredirect(True);#不显示标题栏#透明度fm_scale = Frame(root);fm_scale.grid(row=0, column=0, padx=10, pady=5);label_t = Label(fm_scale,text="透明度:");label_t.grid(row=0, column=0);scale = Scale(fm_scale,width=13,length=120,showvalue=0,from_=20,to=100,resolution=1,orient=HORIZONTAL,command=setScreenTransparent);#缩放比例尺scale.set(70);#初始值scale.grid(row=0, column=1);#当前时间fm_time = Frame(root);fm_time.grid(row=1, column=0, padx=10, pady=0);#窗口是否仍在运行still = tkinter.IntVar(value=1);#显示当前时间label_time = Label(fm_time,text="",foreground='blue',font='Helvetica -14 bold');label_time.grid(row=0, column=0);thread = threading.Thread(target=getDateTime);thread.daemon =True;thread.start();#关机时间fm_show = Frame(root);fm_show.grid(row=2, column=0, padx=10, pady=5);label_s = Label(fm_show,text="定时关机:");label_s.grid(row=0, column=0);var_s = tkinter.StringVar();var_s.set(0);entry_s = Entry(fm_show, textvariable=var_s, width=5);entry_s.grid(row=0, column=1);label_s = Label(fm_show,text="秒");label_s.grid(row=0, column=2);#提示fm_pro = Frame(root);fm_pro.grid(row=3, column=0, padx=10, pady=5);label_pro = Label(fm_pro,foreground='red',text="关机倒计时: 0 秒",font='Helvetica -14 bold');label_pro.grid(row=0, column=2);#按钮操作fm_but = Frame(root);fm_but.grid(row=4, column=0, padx=10, pady=0);but_shut = Button(fm_but,text="关机",width=5,command=lambda:countdown(flag='shut'));but_shut.grid(row=0, column=3);but_shut = Button(fm_but,text="重启",width=5,command=lambda:countdown(flag='rest'));but_shut.grid(row=0, column=4);but_shut = Button(fm_but,text="终止",width=5,command=stopdown);but_shut.grid(row=0, column=5);but_shut = Button(fm_but,text="退出",width=5,command=exit);but_shut.grid(row=0, column=6);root.mainloop();

Python练习小程序 定时关机小脚本相关推荐

  1. windows 定时关机小脚本

    windows 定时关机小脚本 在使用Windows时开关机总是有些麻烦,这里我写了一个一键关机以及定时关机两个小脚本供大家下载使用(下载后新建文本文档复制到文本中然后将后缀名改为.bat 即可运行) ...

  2. 计算机毕业设计Python+uniapp基于微信小程序校园心理咨询(小程序+源码+LW)

    计算机毕业设计Python+uniapp基于微信小程序校园心理咨询(小程序+源码+LW) 该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程 项目运行 环境配置: Pychram社区版+ ...

  3. 微信小程序自动化测试——微信小程序云测服务

    MiniTest 微信小程序云测服务简介 MiniTest 微信小程序云测服务是一套由微信测试团队自主研发,联合WeTest云真机能力,共同推出的微信小程序自动化测试服务. 服务基于云真机,支持开发者 ...

  4. 【微信小程序】初识小程序

    什么是微信小程序 按照微信之父张小龙的定义,小程序是一种不需要下载安装即可使用的应用.小程序实现了应用"触手可及"的梦想,用户扫一扫或搜一下即可打开应用.同时,体现了"用 ...

  5. 提高微信小程序的应用速度的常见方式有哪些? 小程序怎么实现下拉刷新? 简述微信小程序原理? 小程序的发布流程(开发流程)分析下微信小程序的优劣势?小程序授权登录流程? 小程序支付如何实现

    小程序部分常见面试题 提高微信小程序的应用速度的常见方式有哪些? 提高页面加载速度 用户行为预测 减少默认data的大小 组件化方案 分包预下载 小程序与原生App相比优缺点? 优点: 基于微信平台开 ...

  6. 【微信小程序】微信小程序开发(一)

    文件目录结构详情 后缀为wxss的为css样式表.后缀为wxml的为html文件,注意的是里面不是HTML标签了,手册里面提供了相应的标签,这些标签可以自动有一些效果. 最外面的app.js.app. ...

  7. PHP:【微信小程序】初识微信小程序,微信小程序配置

    PHP:[微信小程序]初识微信小程序,微信小程序配置 一.介绍 小程序提供了一个简单.高效的应用开发框架和丰富的组件及 API,帮助开发者在微信中开发具有原生 APP 体验的服务 小程序是一种全新的连 ...

  8. image 微信小程序flex_微信小程序入门教程之二:页面样式

    这个系列的上一篇教程,教大家写了一个最简单的 Hello world 微信小程序. 但是,那只是一个裸页面,并不好看.今天接着往下讲,如何为这个页面添加样式,使它看上去更美观,教大家写出实际可以使用的 ...

  9. 【小程序】图解小程序平台架构及其特征与应用机制

    ⭐️ 本文首发自 [前端修罗场],一个专注 Web 技术.答疑解惑.面试辅导.职业发展的社区. 本文是系列文章,将会解读 W3C 小程序白皮书第 2 版(最新版),这份白皮书现在也成为了各厂研发自己小 ...

最新文章

  1. 建信金融科技春季全国笔试卷B编程题
  2. python 动态类型_python学习--动态类型
  3. python列表字典如何提取_怎么提取字典里面的列表里面的字典的value
  4. .net core 中使用httpclient,HttpClientFactory的问题
  5. 多尺度视网膜图像增强_视网膜图像怪异的预测
  6. 【Java】JavaIO(一)、基础知识
  7. 微软2013年笔试题详解及深入
  8. python中魔法函数_02 python中魔法函数
  9. localStorage 简单示例
  10. 设计模式(十五)——桥接模式
  11. 查看现有运行的linux服务器有多少内存条
  12. 2017CCPC哈尔滨赛区总结
  13. 软考中级软件设计师笔记第一章计算机组成与体系结构
  14. matlab:使用全局变量
  15. 求1e8以为素数的个数【埃氏筛,线性筛(欧拉筛),埃氏筛升级版】
  16. Idea社区版部署项目到tomcat
  17. 1006:Hello World
  18. java 解压压缩包及密码解压压缩包( zip、 rar、 rar5、 7z)
  19. 伤害世界怎么自建服务器,伤害世界服务器怎么建 伤害世界服务器架设教程攻略...
  20. CreateFont()函数的MSDN翻译

热门文章

  1. 【计算思维题】少儿编程 蓝桥杯青少组计算思维题真题及解析第2套
  2. 极米H3S和坚果J10S对比,5000元投影仪到底哪个好?
  3. 【_declspec(dllimport)】_declspec(dllimport)
  4. 用R画出染色体修饰图谱--超详细版本
  5. highcharts绘制3D图表
  6. 密钥文件读取保存为String,并转PublicKey/PrivateKey
  7. 猎聘和BOSS直聘谁会成为在线招聘的最后赢家?
  8. 凯文.都迪的超级记忆力训练教程
  9. HEVC帧内预测参考相邻帧代码解析
  10. 记一次被虐的很惨的面试