大白兔联盟

文章搜索
搜索
当前位置:首页 > code宝库 > python code > 文章详情

python定时关机GUI版

大白兔    2023-5-21  221  0评论

import tkinter as tk
import time
import os

class ShutdownTimer:
    def __init__(self, master):
        self.master = master
        master.title("定时关机")

        self.hours_label = tk.Label(master, text="小时")
        self.hours_label.grid(row=0, column=0)

        self.hours_entry = tk.Entry(master)
        self.hours_entry.grid(row=0, column=1)

        self.minutes_label = tk.Label(master, text="分钟")
        self.minutes_label.grid(row=1, column=0)

        self.minutes_entry = tk.Entry(master)
        self.minutes_entry.grid(row=1, column=1)

        self.seconds_label = tk.Label(master, text="秒")
        self.seconds_label.grid(row=2, column=0)

        self.seconds_entry = tk.Entry(master)
        self.seconds_entry.grid(row=2, column=1)

        self.date_label = tk.Label(master, text="日期 (格式: YYYY-MM-DD)")
        self.date_label.grid(row=3, column=0)

        self.date_entry = tk.Entry(master)
        self.date_entry.grid(row=3, column=1)

        self.shutdown_button = tk.Button(master, text="开始关机", command=self.shutdown)
        self.shutdown_button.grid(row=4, column=0, columnspan=2)

        self.countdown_label = tk.Label(master, text="", font=("Helvetica", 36))
        self.countdown_label.grid(row=5, column=0, columnspan=2)

    def shutdown(self):
        hours = int(self.hours_entry.get())
        minutes = int(self.minutes_entry.get())
        seconds = int(self.seconds_entry.get())
        date = self.date_entry.get()

        shutdown_time = time.mktime(time.strptime(date, "%Y-%m-%d")) + hours * 3600 + minutes * 60 + seconds

        while True:
            remaining_time = shutdown_time - time.time()

            if remaining_time <= 0:
                os.system("shutdown /s /t 1")
                break

            hours, remaining_time = divmod(remaining_time, 3600)
            minutes, remaining_time = divmod(remaining_time, 60)
            seconds = remaining_time

            self.countdown_label.config(text="{:02d}:{:02d}:{:02d}".format(int(hours), int(minutes), int(seconds)))
            self.master.update()
            time.sleep(0.1)

root = tk.Tk()
my_gui = ShutdownTimer(root)
root.mainloop()

免责声明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论