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

#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定时关机程序_Python练习小程序之定时关机小脚本(代码教程)相关推荐

  1. 无师自通-自己学写脚本,小明外挂脚本代码教程 转载

    无师自通-自己学写脚本,小明外挂脚本代码教程 转载 2011-02-03 19:47:20| 分类: 石器脚本 assa | 标签:walkpos 指令 对话框 跳转 道具 |字号 订阅 下载LOFT ...

  2. python编写购物程序_Python实现购物程序思路及代码

    要求: 启动程序后,让用户输入工资,然后打印出带有序号的商品列表 用户输入商品序号购买相应的商品,或者输入 ' q ' 退出购买界面 选择商品后,检查余额是否足够,够则直接扣款,不够则提示余额不足 用 ...

  3. python判断火车票座位_Python抢票程序优化,可以选择车次和座次

    Python抢票程序优化,可以选择车次和座次 阅读文本大概需要 5 分钟. pk 哥在元旦前写了一篇关于自动化抢票的程序 用Python抢火车票加邮件通知,同时建了一个火车票助力群,本来只是写着玩玩, ...

  4. python中怎么编写程序_python写完程序怎么运行

    安装并配置完成之后,我们就可以编写第一个python程序.学过其他语言的兄弟姐妹们,都知道语言的入门程序就是hello world.那么,我们这里也以hello world来抛砖引玉,打开python ...

  5. python面向对象编程从零开始_Python面向对象编程从零开始(4)—— 小姐姐请客下篇

    前言 前文传送门: Python面向对象编程从零开始(2)-- 与对象相互了解:Python面向对象编程从零开始(2)-- 与对象相互了解 Python面向对象编程从零开始(3)-- 小姐姐请客上篇: ...

  6. 二级教程python语言程序设计答案_PYTHON语言程序设计(2020年版)/全国计算机等级考试二级教程...

    本书根据教育部考试中心近期新颁布的2018年考试大纲编写,是教育部考试中心组织编写的全国计算机等级考试系列教程之一. 本书从Python语言的基本数据结构出发,介绍了程序设计的思想和方法.内容精练.实 ...

  7. python随机抽人小程序_python抽人程序初试

    抽人不是那个抽人.. 是随机抽人.. 昨晚接到班里有个任务 让我写一个从班干部和不是班干部的同学中随机抽取几位去干活的程序.... 然鹅我这个初学python的渣渣 我就去网上先看看了大体情况 结果一 ...

  8. python趣味程序_python游戏趣味编程:疯狂的小圆圈

    1 疯狂的小圆圈 当按下鼠标左键滑动时,会产生一些列同心圆,这些同心圆运动,碰到四周会反弹. 这里要学习下字典. 2 漂亮的彩虹 3 字典 第1行:定义一个字典,里面存储了7个颜色 第3行:打印字典中 ...

  9. python弹球小游戏程序_Python基于Tkinter模块实现的弹球小游戏

    本文实例讲述了Python基于Tkinter模块实现的弹球小游戏.分享给大家供大家参考,具体如下: #!usr/bin/python #-*- coding:utf-8 -*- from Tkinte ...

  10. python群聊聊天室程序_Python聊天室程序(基础版)

    本文实例为大家分享了Python聊天室程序的具体代码,供大家参考,具体内容如下 客户端代码: # Filename: socketClient.py import socket import sys ...

最新文章

  1. WPF初探--RichTextBox
  2. 无锡初一计算机试题,2015年无锡市初中信息技术考查选择题.doc
  3. Linux shell文件测试运算符
  4. centos 账号安全设置
  5. VGA接口一根针折了
  6. mvc中嵌入html,MVC Razor与javascript混编(js中嵌入razor)
  7. CSS 总结我对3D效果的一些误解
  8. iPhone开发内存管理
  9. 二次拟合r方_使用SPSS拟合曲线
  10. SNF软件开发机器人2018最新更新内容
  11. pgsql修改字段长度
  12. html批量打印保存到pdf,批量打印成PDF时不用每次点击保存位置的技巧
  13. 基于Android的太阳方位角计算工具
  14. 乒乓球比赛赛程_2018国际乒联乒乓球重大赛事详细赛程表,看点爆点早知道
  15. Springboot快递管理系统1k61h计算机毕业设计-课程设计-期末作业-毕设程序代做
  16. openGL贝塞尔曲面细分
  17. office 打开wps乱_wps文档用word打开排版不对怎么办
  18. 玩转 GitHub 更新Fork
  19. Atom快速跳转到函数定义处
  20. 电脑和电话能通话?简单

热门文章

  1. 广东惠州市县镇地图JSON文件
  2. gamemaker 2 如何做一个过场动画的思路
  3. 【 产品经理学习笔记 | 巨详细】1.1-1.4 初识产品经理
  4. MOOS-ivp简介
  5. Puppeteer之Pyppeteer——浏览某短视频,获取点赞和评论,收藏,转发数(5)
  6. 获取中国 省市区 js
  7. js返回上一页,下一页
  8. 运放技术——谐波失真THD
  9. iBooks 书籍存放位置
  10. java实现迷宫走法