python:基于tkinter的定时关机程

python

本人使用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=='1':

ds()

if sz=='2':

qx()

else:

tc()

看一下这两段代码,当我们将这个原始代码用tkinter这个壳包起来的时候就需要稍微的改进了。大家可以自己琢磨,

值得一提的是关于globel的用用法,我们要将输入框Entry中的字符串赋值给e,那么e就是一个全局变量,而我们要在函数里修改这个函数就必须先声明一下 globel e。

这里的代码仅供参考,大家可自行设计,这里主要谈谈一个设计思路。

over!

以上是 python:基于tkinter的定时关机程 的全部内容, 来源链接: utcz.com/z/387738.html

回到顶部