向 ChatGPT 发问:
- python 编写一个 Windows 桌面小组件
- 批改为无边框
- 鼠标右键显示一个菜单,菜单点击“退出”
- 要求可拖动
- 要求半透明
残缺代码
import tkinter as tk
import time
def update_clock():
current_time = time.strftime("%H:%M:%S")
label.config(text=current_time)
label.after(1000, update_clock)
def exit_app():
window.destroy()
# 创立窗口
window = tk.Tk()
window.title("桌面小组件")
# 设置窗口为无边框
window.overrideredirect(True)
# 设置窗口透明度
window.attributes('-alpha', 0.7) # 设置透明度为 0.7
# 创立标签
label = tk.Label(window, font=("Arial", 80), fg="black")
label.pack(padx=50, pady=50)
# 更新时钟
update_clock()
# 创立菜单
menu = tk.Menu(window, tearoff=0)
menu.add_command(label="退出", command=exit_app)
# 绑定鼠标右键事件
def show_menu(event):
menu.post(event.x_root, event.y_root)
window.bind("<Button-3>", show_menu)
# 实现拖动性能
def start_drag(event):
window.x = event.x
window.y = event.y
def drag(event):
deltax = event.x - window.x
deltay = event.y - window.y
new_x = window.winfo_x() + deltax
new_y = window.winfo_y() + deltay
window.geometry(f"+{new_x}+{new_y}")
window.bind("<ButtonPress-1>", start_drag)
window.bind("<B1-Motion>", drag)
# 运行窗口循环
window.mainloop()
运行
100% 能够运行无报错!
论断
ChatGPT 能够编写一些简略的代码并且可用性较高!
作者
TANKING