python tkinter實現定時關機

2022-09-25 20:54:13 字數 3611 閱讀 9162

很早以前寫的,懶得修改,**很簡單,適合初學者

執行效果圖如下:

import os,time

# import multiprocessing

import threading

from tkinter import *

from tkinter import ttk

import tkinter.messagebox as message_box

window =tk()

window.title('auto_shutdown')

window.geometry('240x180')

window.resizable(false, false)

window.update()

var = strin**ar()

var1 = strin**ar()

var2 = strin**ar()

#程式設計客棧 設定func為守護執行緒

def funcs():

t = threading.thread(target=func)

t.setdaemon(true)

t.start()

# 執行自動關機指令

def func():

#彈出messagebox警告提示

message_box.showwarning("warning", "your pc will shutdown at %s : %s" % (var.get(),var1.get()))

print('wohaizai')

mytime = time.strftime('%h:%m:%s')

h2 = mytime[0:2]

m2 = mytime[3:5]

s2 = mytime[6:]

print(h2)

print(m2)

print(s2)

print(var.get())

print(var1.get())

# 算出距離關機時間的秒數

count_down_second=-int(h2)*3600-int(m2)*60-int(s2)+int(var.get())*3600+int(var1.get())*60+int(var2.get())

# 如果關機設定在第二天,結果加86400(一天的總秒數)

if count_down_second<0:

count_down_second=count_down_second+86400

os.system("shutdown -s -t %s" % count_down_second)

print(count_down_second)

window.quit()

# 快捷關機選項入口

def fun_set1():

cb_h.current(18)

def fun_set2():

cb_h.current(21)

def fun_set3():

cb_h.current(22)

def fun_set4():

cb_h.current(23)

def funcq():

os.system('shutdown -a')

# 定義三個容器,方便布局

root = ttk.labelframe(window, text="定時關機")

root.grid(column=0, row=0,padx=2, pady=2)

root1 = ttk.labelframe(window, text="常用時間")

root1.grid(column=1, row=0,padx=2, pady=2)

root2 = ttk.labelframe(window, text="開始")

root2程式設計客棧.grid(column=0, row=程式設計客棧1,columnspan=2,padx=2, pady=2)

label(root,text=':').grid(column=1, row=0,padx=2, pady=5)

cb_h = ttk.combobox(root,width=3,textvariable =var)

a =

for i in range(10):

a.append(('0'+str(i)))

for i in range(10,24):

a.append(i)

cb_h['values'] =tuple(a)

cb_h.current(0)

cb_h.grid(column=0, row=0,padx=2, pady=5)

cb_m = ttk.combobox(root,width=3,textvariable =var1)

b =

for i in range(10):

b.append('0'+str(i))

for i in range(10,60):

b.append(str(i))

cb_m['values'] =tuple(b)

cb_m.current(0)

cb_m.grid(column=2, row=0,padx=2, pady=5)

cb_s = ttk.combobox(root,width=3,textvariable =var2)

c =

for i in range(10):

c.append('0'+str(i))

for i in range(10,60):

c.append(str(i))

cb_s['values'] =tuple(c)

cb_s.current(0)

cb_s.grid(columnspan=3, row=1,padx=2, pady=6)

button(root1,text = '18:00',command = fun_set1).grid(column=0, row=0,padx=2, pady=2)

button(root1,text = '21:00',command = fun_set2).grid(column=1, row=0,padxczbnyzcbh=2, pady=2)

button(root1,text = '22:00',command = fun_set3).grid(column=0, row=1,padx=2, pady=2)

button(root1,text = '23:00',command = fun_set4).grid(column=1, row=1,padx=2, pady=2)

b1=button(root2,text = '開始',command = funcs,height =2,width =6)

b1.grid(column=0, row=0,padx=24, pady=2)

b1=button(root2,text = '取消',command = funcq,height =2,width =6)

b1.grid(column=1, row=0,padx=24, pady=2)

root.mainloop()

專案的github位址

ps:已打包為exe格式,可在dist目錄下找到

本文標題: python tkinter實現定時關機

本文位址:

python tkinter視窗簡單實現

tkinter 是 python 的標準 gui 庫。python 使用 tkinter 可以快速的建立 gui 應用程式。由於 tkinter 是內建到 python 的安裝包中,只要安裝好 python 之後就能 import tkinter 庫,而且 idle 也是用 tkinter 編寫而成...

python tkinter實現介面切換 code

跳轉實現思路 主程式相當於桌子 import tkinter as tk root tk.tk 而不同的frame相當於不同的桌布 face1 tk.frame root face2 tk.frame root 每個介面採用類的方式定義各自的控制項和函式,每個介面都建立在乙個各自定義的frame上,...

教你python tkinter實現簡單計算器功能

這篇文章主要為大家詳細介紹了python tkinter實現簡單計算器功能,文中示例 介紹的非常詳細,具有一定的參考價值,感興趣的小夥伴們可以參考一下 效果圖 直接上 import tkinter as tk input num ls first num none calculator method...