tkinter 电子时钟 实现时间日期 可实现透明 无标题栏

以下是一个使用Tkinter实现的简单的电子时钟程序,可以显示当前的时间和日期,并且可以设置为透明且没有标题栏。

import tkinter as tk
import time

# 创建窗口
window = tk.Tk()

# 设置窗口属性
window.overrideredirect(True)  # 隐藏标题栏
window.wm_attributes("-transparentcolor", "white")  # 设置透明背景

# 创建标签用于显示时间和日期
label = tk.Label(window, font=("Arial", 80), fg='black', bg='white')
label.pack()

def update_clock():
    # 获取当前时间
    current_time = time.strftime('%H:%M:%S')
    current_date = time.strftime('%Y-%m-%d')
    
    # 更新标签显示
    label.config(text=f"{current_date}\n{current_time}")
    
    # 每1000毫秒更新一次时间
    window.after(1000, update_clock)

# 启动更新时间的函数
update_clock()

# 运行窗口
window.mainloop()

请注意,这个程序运行时会新建一个窗口,这个窗口是可以移动和关闭的。如果想要完全隐藏窗口边框和关闭按钮,可以使用第三方库pygetwindow

首先,需要安装pygetwindow库:

pip install pygetwindow

然后,修改程序如下:

import tkinter as tk
import time
import pygetwindow as gw

# 创建窗口
window = tk.Tk()

# 设置窗口属性
window.overrideredirect(True)  # 隐藏标题栏
window.wm_attributes("-transparentcolor", "white")  # 设置透明背景

# 创建标签用于显示时间和日期
label = tk.Label(window, font=("Arial", 80), fg='black', bg='white')
label.pack()

def update_clock():
    # 获取当前时间
    current_time = time.strftime('%H:%M:%S')
    current_date = time.strftime('%Y-%m-%d')
    
    # 更新标签显示
    label.config(text=f"{current_date}\n{current_time}")
    
    # 每1000毫秒更新一次时间
    window.after(1000, update_clock)

# 启动更新时间的函数
update_clock()

# 运行窗口
window.mainloop()

# 隐藏窗口边框和关闭按钮
window = gw.getWindowsWithTitle('tk')[0]
window.minimize()
window.maximize()

这样修改后,程序运行时会隐藏窗口边框和关闭按钮,只显示一个透明的时间日期标签。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个示例代码,用于创建一个简单的电子时钟,它显示当前的时间日期: ```python import tkinter as tk import time class Clock(tk.Frame): def __init__(self, parent=None, **kw): tk.Frame.__init__(self, parent, kw) self.time_label = tk.Label(self, font=("Helvetica", 48)) self.time_label.pack(side="top", fill="x", padx=50, pady=20) self.date_label = tk.Label(self, font=("Helvetica", 24)) self.date_label.pack(side="top", fill="x", padx=50, pady=10) self.tick() def tick(self): current_time = time.strftime("%H:%M:%S") current_date = time.strftime("%A, %B %d, %Y") self.time_label.config(text=current_time) self.date_label.config(text=current_date) self.time_label.after(200, self.tick) if __name__ == "__main__": root = tk.Tk() root.title("Clock") clock = Clock(root) clock.pack(side="top", fill="both", expand=True) root.mainloop() ``` 这个示例代码使用了 `tkinter` 库来创建一个 `Clock` 类。这个类继承了 `Frame` 类,它包含了两个 `Label` 对象,分别用于显示时间日期。 在 `__init__` 方法中,我们创建了这两个标签,并设置它们的字体。然后,我们调用 `tick` 方法来更新这两个标签的文本,并使用 `after` 方法来定期调用 `tick` 方法,以更新时间日期的显示。 在 `__main__` 方法中,我们创建了一个 `Tk` 对象,并将其命名为 `Clock`。然后,我们创建了一个 `Clock` 对象,并将其放置在 `Tk` 对象中。最后,我们调用 `mainloop` 方法来启动图形界面的事件循环。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

至亲至爱的你

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值