import tkinter as tk import random popup_count = 0 TARGET_COUNT = 100 def create_tip_window(main_root): global popup_count if popup_count >= TARGET_COUNT: return screen_w = main_root.winfo_screenwidth() screen_h = main_root.winfo_screenheight() base_win_w, base_win_h = 250, 60 final_win_w, final_win_h = base_win_w * 2, base_win_h * 2 if popup_count == TARGET_COUNT - 1: x = (screen_w - final_win_w) // 2 y = (screen_h - final_win_h) // 2 win_w, win_h = final_win_w, final_win_h tip_text = "我喜欢你" bg_color = "lightpink" font_style = ('微软雅黑', 24, 'bold') border_width = 5 border_color = "#FF69B4" else: x = random.randint(0, screen_w - base_win_w) y = random.randint(0, screen_h - base_win_h) win_w, win_h = base_win_w, base_win_h tips = [ '多喝水哦~', '保持微笑呀', '每天都要元气满满', '记得吃水果', '保持好心情', '好好爱自己', '梦想成真', '期待下一次见面', '顺顺利利', '早点休息', '愿所有烦恼都消失', '别熬夜', '今天过得开心嘛', '天冷了,多穿衣服', '照顾好自己', '我永远陪着你' ] bg_colors = [ 'skyblue', 'lightgreen', 'lavender', 'lightyellow', 'plum', 'coral', 'bisque', 'aquamarine', 'mistyrose', 'honeydew' ] tip_text = random.choice(tips) bg_color = random.choice(bg_colors) font_style = ('微软雅黑', 14) border_width = 0 border_color = "white" tip_win = tk.Toplevel(main_root) tip_win.title('温馨提示' if popup_count < TARGET_COUNT - 1 else 'Special Message') tip_win.geometry(f"{win_w}x{win_h}+{x}+{y}") tip_win.attributes('-topmost', True) tip_win.attributes('-alpha', 0.85) tip_win.config(borderwidth=border_width, relief="solid", bg=border_color) label = tk.Label( tip_win, text=tip_text, bg=bg_color, font=font_style, width=30 if popup_count == TARGET_COUNT - 1 else 20, height=4 if popup_count == TARGET_COUNT - 1 else 2, wraplength=final_win_w - 40 if popup_count == TARGET_COUNT - 1 else base_win_w - 20, justify='center' ) label.pack(padx=10, pady=10, fill='both', expand=True) popup_count += 1 def main(): root = tk.Tk() root.withdraw() def generate_loop(): create_tip_window(root) if popup_count < TARGET_COUNT: root.after(60, generate_loop) generate_loop() def on_main_close(): for child in root.winfo_children(): child.destroy() root.destroy() root.protocol("WM_DELETE_WINDOW", on_main_close) root.mainloop() if __name__ == "__main__": main()