吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2843|回复: 20
收起左侧

[Python 转载] python定时关机GUI版

[复制链接]
麋鹿啊 发表于 2023-5-20 22:28
使用chatgpt生成的关机代码 本以为python生成的软件内存会很小 结果比易语言大多了{:1_924:}

1.jpg

[Python] 纯文本查看 复制代码
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()

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
sgzdmsz + 1 + 1 热心回复!
ysy2001 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

TaJ 发表于 2023-5-20 23:14
给我这摸鱼大师量身定做的啊哈哈
Pojawa 发表于 2023-5-21 05:27
shutdown -s -f -t 3600 …………………………………………
1XiaoBai 发表于 2023-5-23 13:23
Ssnakes 发表于 2023-5-21 10:14
shutdown -s -t 3600就可以,不用加f

有的时候不加-f关不了,加了-f可以强制关机
Pojawa 发表于 2023-5-21 22:22
Ssnakes 发表于 2023-5-21 10:14
shutdown -s -t 3600就可以,不用加f

要加,f参的意义是不询问是否结束程序直接关机。win7开始如果你直接shutdown,有程序强行阻止你关机的话就会停留在询问页面一直不关机。-f就能强行kill掉阻止关机的程序。
如果你不想像我几年前那样挂了定时关机之后第二天一早发现还在登录页面的话,加上f。
更多参数你可以 shutdown -?
Aliendl 发表于 2023-5-20 23:13
学习一下
HFya 发表于 2023-5-21 06:32
易语言编译的c++代码  py编译的要解释器 还有各种库
肯定大  而且运行还没有易语言快
ysjd22 发表于 2023-5-21 08:31
大佬太多了
Wapj_Wolf 发表于 2023-5-21 09:12
学习学习,PY小白膜拜中。
onlyougao 发表于 2023-5-21 09:53
练习吗?
Ssnakes 发表于 2023-5-21 10:14
Pojawa 发表于 2023-5-21 05:27
shutdown -s -f -t 3600 …………………………………………

shutdown -s -t 3600就可以,不用加f
yang19950324 发表于 2023-5-21 10:27
py打包大是因为他把各种包和库都打进去了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 20:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表