写一个置顶倒计时,主要用来PPT演示的时候作为计时使用,要求时间可以自己设置

611次阅读

共计 1990 个字符,预计需要花费 5 分钟才能阅读完成。

第一版

写一个置顶倒计时,主要用来 PPT 演示的时候作为计时使用,要求时间可以自己设置
import tkinter as tk
from tkinter import simpledialog
import time

class CountdownApp:
    def __init__(self, master):
        self.master = master
        master.title("倒计时器")
        master.attributes('-topmost', True)  # 窗口置顶
        
        # 设置窗口背景颜色为透明
        master.configure(bg='systemTransparent')
        
        # 创建标签用于显示倒计时
        self.label = tk.Label(master, text="00:00:00", font=("Helvetica", 36), bg='systemTransparent')
        self.label.pack(pady=20)
        
        # 获取用户输入的时间
        self.seconds = self.get_seconds_from_user()
        
        # 开始倒计时
        self.countdown(self.seconds)
    
    def get_seconds_from_user(self):
        # 弹出对话框让用户输入秒数
        seconds = simpledialog.askinteger("倒计时设置", "请输入倒计时的总秒数:")
        return seconds
    
    def countdown(self, seconds):
        # 更新标签显示剩余时间
        self.label.config(text=self.format_time(seconds))
        
        if seconds > 0:
            self.master.after(1000, self.countdown, seconds - 1)
        else:
            self.label.config(text="时间到!")
    
    def format_time(self, seconds):
        minutes, seconds = divmod(seconds, 60)
        hours, minutes = divmod(minutes, 60)
        return f"{hours:02d}:{minutes:02d}:{seconds:02d}"

def main():
    root = tk.Tk()
    app = CountdownApp(root)
    root.mainloop()

if __name__ == '__main__':
    main()

报错

写一个置顶倒计时,主要用来 PPT 演示的时候作为计时使用,要求时间可以自己设置
写一个置顶倒计时,主要用来 PPT 演示的时候作为计时使用,要求时间可以自己设置
import tkinter as tk
from tkinter import simpledialog
import time

class CountdownApp:
    def __init__(self, master):
        self.master = master
        master.title("倒计时器")
        master.attributes('-topmost', True)  # 窗口置顶
        
        # 设置窗口背景颜色为浅灰色
        master.configure(bg='white')
        
        # 设置窗口为半透明
        master.wm_attributes("-alpha", 0.95)
        
        # 设置窗口无边框
        master.overrideredirect(True)
        
        # 创建标签用于显示倒计时
        self.label = tk.Label(master, text="00:00:00", font=("Helvetica", 36), bg='white')
        self.label.pack(pady=20)
        
        # 获取用户输入的时间
        self.seconds = self.get_seconds_from_user()
        
        # 开始倒计时
        self.countdown(self.seconds)
    
    def get_seconds_from_user(self):
        # 弹出对话框让用户输入秒数
        seconds = simpledialog.askinteger("倒计时设置", "请输入倒计时的总秒数:")
        return seconds
    
    def countdown(self, seconds):
        # 更新标签显示剩余时间
        self.label.config(text=self.format_time(seconds))
        
        if seconds > 0:
            self.master.after(1000, self.countdown, seconds - 1)
        else:
            self.label.config(text="时间到!")
    
    def format_time(self, seconds):
        minutes, seconds = divmod(seconds, 60)
        hours, minutes = divmod(minutes, 60)
        return f"{hours:02d}:{minutes:02d}:{seconds:02d}"

def main():
    root = tk.Tk()
    app = CountdownApp(root)
    root.mainloop()

if __name__ == '__main__':
    main()
写一个置顶倒计时,主要用来 PPT 演示的时候作为计时使用,要求时间可以自己设置

效果非常棒

正文完
 0
Blood.Cold
版权声明:本站原创文章,由 Blood.Cold 于2024-08-24发表,共计1990字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。