利用Python打造一个美观的桌面温馨提醒弹窗

Written by

in

文章目录
  • 美观的UI设计:采用现代化配色方案,柔和而不刺眼 随机位置显示:每次出现在屏幕不同位置,避免视觉疲劳 多样化内容:丰富的提示语和emoji图标 自动管理:几秒后自动关闭,不干扰工作 交互便捷:支持点击关闭,用户体验良好 源码如下: import random import time import tkinter as tk from tkinter import ttk import os # 抑制libpng警告 os.environ[‘TK_SILENCE_DEPRECATION’] = ‘1’ def create_beautiful_tip(): # 创建窗口 window = tk.Toplevel() # 获取屏幕宽高 screen_width = window.winfo_screenwidth() screen_height = window.winfo_screenheight() # 窗口尺寸和位置 window_width = 300 window_height = 120 x = random.randint(100, screen_width – window_width – 100) y = random.randint(100, screen_height – window_height – 100) # 窗口设置 window.geometry(f”{window_width}x{window_height}+{x}+{y}”) window.resizable(False, False) window.attributes(‘-topmost’, True) # 颜色方案 bg_colors = [ {‘bg’: ‘#FFE4E6’, ‘fg’: ‘#BE123C’, ‘accent’: ‘#FB7185’}, {‘bg’: ‘#F0F9FF’, ‘fg’: ‘#0369A1’, ‘accent’: ‘#0EA5E9’}, {‘bg’: ‘#F0FDF4’, ‘fg’: ‘#15803D’, ‘accent’: ‘#22C55E’}, {‘bg’: ‘#FEF7CD’, ‘fg’: ‘#854D0E’, ‘accent’: ‘#EAB308’}, {‘bg’: ‘#FAF5FF’, ‘fg’: ‘#7C3AED’, ‘accent’: ‘#A855F7’}, ] scheme = random.choice(bg_colors) # 设置窗口背景 window.configure(bg=scheme[‘bg’]) # 提示文字 tips = [ ‘💧 记得多喝水哦~’, ‘😊 保持微笑,好运自然来’, ‘✨ 今天也要元气满满!’, ‘🍎 多吃水果身体好’, ‘🌞 保持好心情最重要’, ‘💝 好好爱自己呀’, ‘💌 有人在想你哦~’, ‘🎯 梦想一定会成真’, ‘🤗 期待下一次见面’, ‘🌈 一切都会顺顺利利’, ‘🌙 早点休息别熬夜’, ‘🍀 今天过得开心吗?’, ‘🧥 天冷了,记得添衣’, ‘📚 学习工作要劳逸结合’, ‘🎵 听首歌放松一下吧’, ‘🌿 出去走走,呼吸新鲜空气’, ‘💪 你是最棒的!’, ‘🎨 保持创造力’, ‘🤝 记得联系老朋友’, ‘🍫 适当奖励自己’, ‘🌺 闻闻花香,心情变好’ ] tip = random.choice(tips) # 创建内容 # 图标 icons = [‘💕’, ‘✨’, ‘🌟’, ‘🎀’, ‘🌷’, ‘🌸’, ‘🍀’] icon_label = tk.Label( window, text=random.choice(icons), bg=scheme[‘bg’], fg=scheme[‘accent’], font=(‘Arial’, 20) ) icon_label.place(x=20, y=30) # 提示文字 tip_label = tk.Label( window, text=tip, bg=scheme[‘bg’], fg=scheme[‘fg’], font=(‘微软雅黑’, 12), wraplength=200, justify=’left’ ) tip_label.place(x=60, y=30) # 关闭按钮 close_btn = tk.Button( window, text=’关闭’, bg=scheme[‘accent’], fg=’white’, font=(‘微软雅黑’, 9), command=window.destroy, relief=’flat’, bd=0 ) close_btn.place(x=window_width – 60, y=window_height – 30, width=50, height=25) # 5秒后自动关闭 window.after(5000, window.destroy) def main(): # 创建主窗口但不显示 root = tk.Tk() root.withdraw() # 创建多个提示窗口 for i in range(300): # 创建5个窗口 create_beautiful_tip() root.update() # 更新GUI time.sleep(0.5) # 间隔0.5秒 # 退出程序 root.after(100000, root.destroy) root.mainloop() if __name__ == ‘__main__’: main()
  • 运行程序后,屏幕上会依次出现5个美观的提示窗口,每个窗口: 显示随机选择的温馨话语 使用随机配色方案 出现在屏幕随机位置 5秒后自动消失 可随时点击关闭按钮手动关闭
  • 你可以根据自己的喜好进行以下自定义: 修改提示内容:编辑tips列表,添加你自己的提示语 调整配色:在color_schemes中添加或修改配色方案 更改显示时间:修改window.after(5000, …)中的5000毫秒值 调整窗口数量:修改range(5)中的数字来控制窗口数量 添加动画效果:可以尝试添加淡入淡出等动画效果
  • 使用Tkinter创建GUI界面 使用Toplevel创建多个窗口 使用place进行精确布局 使用after实现定时功能 随机化增强用户体验
  • 这个小小的Python程序展示了如何使用Tkinter创建美观实用的桌面应用。它不仅是一个温馨的提醒工具,也是学习Python GUI编程的好例子。你可以在此基础上继续扩展,比如添加设置界面、数据库支持、网络功能等,打造更加强大的个人助手应用。 以上就是利用Python打造一个美观的桌面温馨提醒弹窗的详细内容,更多关于Python桌面提醒弹窗的资料请关注风君子博客其它相关文章! 您可能感兴趣的文章: 利用Python实现无限弹窗满屏表白的示例代码 Python Tkinter美化弹窗的示例详解 Python使用pycharm实现无限弹窗程序 Python Socket实现远程木马弹窗详解 Python Selenium弹窗处理操作指南
  • 目录
    • 效果
    • 功能亮点
    • 代码解析
      • 1. 环境设置与导入
      • 2. 弹窗创建函数
      • 3. 美观的配色方案
      • 4. 内容布局
      • 5. 自动关闭机制
    • 运行效果
      • 自定义建议
        • 技术要点
          • 总结

            • 美观的UI设计:采用现代化配色方案,柔和而不刺眼
            • 随机位置显示:每次出现在屏幕不同位置,避免视觉疲劳
            • 多样化内容:丰富的提示语和emoji图标
            • 自动管理:几秒后自动关闭,不干扰工作
            • 交互便捷:支持点击关闭,用户体验良好

            源码如下:

            import random
            import time
            import tkinter as tk
            from tkinter import ttk
            import os
            
            # 抑制libpng警告
            os.environ['TK_SILENCE_DEPRECATION'] = '1'
            
            
            def create_beautiful_tip():
            	# 创建窗口
            	window = tk.Toplevel()
            
            	# 获取屏幕宽高
            	screen_width = window.winfo_screenwidth()
            	screen_height = window.winfo_screenheight()
            
            	# 窗口尺寸和位置
            	window_width = 300
            	window_height = 120
            	x = random.randint(100, screen_width - window_width - 100)
            	y = random.randint(100, screen_height - window_height - 100)
            
            	# 窗口设置
            	window.geometry(f"{window_width}x{window_height}+{x}+{y}")
            	window.resizable(False, False)
            	window.attributes('-topmost', True)
            
            	# 颜色方案
            	bg_colors = [
            		{'bg': '#FFE4E6', 'fg': '#BE123C', 'accent': '#FB7185'},
                    {'bg': '#F0F9FF', 'fg': '#0369A1', 'accent': '#0EA5E9'},
                    {'bg': '#F0FDF4', 'fg': '#15803D', 'accent': '#22C55E'},
                    {'bg': '#FEF7CD', 'fg': '#854D0E', 'accent': '#EAB308'},
                    {'bg': '#FAF5FF', 'fg': '#7C3AED', 'accent': '#A855F7'},
            	]
            	scheme = random.choice(bg_colors)
            
            	# 设置窗口背景
            	window.configure(bg=scheme['bg'])
            
            	# 提示文字
            	tips = [
            		'💧 记得多喝水哦~', '😊 保持微笑,好运自然来', '✨ 今天也要元气满满!',
            		'🍎 多吃水果身体好', '🌞 保持好心情最重要', '💝 好好爱自己呀',
            		'💌 有人在想你哦~', '🎯 梦想一定会成真', '🤗 期待下一次见面',
            		'🌈 一切都会顺顺利利', '🌙 早点休息别熬夜', '🍀 今天过得开心吗?',
            		'🧥 天冷了,记得添衣', '📚 学习工作要劳逸结合', '🎵 听首歌放松一下吧',
            		'🌿 出去走走,呼吸新鲜空气', '💪 你是最棒的!', '🎨 保持创造力',
            		'🤝 记得联系老朋友', '🍫 适当奖励自己', '🌺 闻闻花香,心情变好'
            	]
            	tip = random.choice(tips)
            
            	# 创建内容
            	# 图标
            	icons = ['💕', '✨', '🌟', '🎀', '🌷', '🌸', '🍀']
            	icon_label = tk.Label(
            		window,
            		text=random.choice(icons),
            		bg=scheme['bg'],
            		fg=scheme['accent'],
            		font=('Arial', 20)
            	)
            	icon_label.place(x=20, y=30)
            
            	# 提示文字
            	tip_label = tk.Label(
            		window,
            		text=tip,
            		bg=scheme['bg'],
            		fg=scheme['fg'],
            		font=('微软雅黑', 12),
            		wraplength=200,
            		justify='left'
            	)
            	tip_label.place(x=60, y=30)
            
            	# 关闭按钮
            	close_btn = tk.Button(
            		window,
            		text='关闭',
            		bg=scheme['accent'],
            		fg='white',
            		font=('微软雅黑', 9),
            		command=window.destroy,
            		relief='flat',
            		bd=0
            	)
            	close_btn.place(x=window_width - 60, y=window_height - 30, width=50, height=25)
            
            	# 5秒后自动关闭
            	window.after(5000, window.destroy)
            
            
            def main():
            	# 创建主窗口但不显示
            	root = tk.Tk()
            	root.withdraw()
            
            	# 创建多个提示窗口
            	for i in range(300):  # 创建5个窗口
            		create_beautiful_tip()
            		root.update()  # 更新GUI
            		time.sleep(0.5)  # 间隔0.5秒
            
            	# 退出程序
            	root.after(100000, root.destroy)
            	root.mainloop()
            
            
            if __name__ == '__main__':
            	main()
            

            import random
            import time
            import tkinter as tk
            import os
            
            os.environ['TK_SILENCE_DEPRECATION'] = '1'
            

            这里我们导入了必要的库,并设置环境变量来抑制Tkinter可能产生的libpng警告。

            create_beautiful_tip() 函数是程序的核心,负责创建单个提示窗口:

            def create_beautiful_tip():
                window = tk.Toplevel()
                # 获取屏幕尺寸并计算随机位置
                screen_width = window.winfo_screenwidth()
                screen_height = window.winfo_screenheight()
                # ... 窗口设置代码
            

            我们使用Toplevel()创建新窗口,而不是Tk(),这样可以在一个主程序下创建多个窗口。

            color_schemes = [
                {'bg': '#FFE4E6', 'fg': '#BE123C', 'accent': '#FB7185'},  # 粉色系
                {'bg': '#F0F9FF', 'fg': '#0369A1', 'accent': '#0EA5E9'},  # 蓝色系
                # ... 更多配色
            ]
            scheme = random.choice(color_schemes)
            

            我们定义了几组协调的配色方案,每次随机选择一组,使每个窗口都有独特的视觉效果。

            # 图标
            icon_label = tk.Label(
                window,
                text=random.choice(icons),
                bg=scheme['bg'],
                fg=scheme['accent'],
                font=('Arial', 20)
            )
            icon_label.place(x=20, y=30)
            
            # 提示文字
            tip_label = tk.Label(
                window,
                text=tip,
                bg=scheme['bg'],
                fg=scheme['fg'],
                font=('微软雅黑', 12),
                wraplength=200,
                justify='left'
            )
            tip_label.place(x=60, y=30)
            

            使用place几何管理器精确定位图标和文字,确保布局整齐美观。

            window.after(5000, window.destroy)
            

            使用Tkinter的after方法设置5秒后自动关闭窗口,避免窗口一直占用屏幕空间。

            运行程序后,屏幕上会依次出现5个美观的提示窗口,每个窗口:

            • 显示随机选择的温馨话语
            • 使用随机配色方案
            • 出现在屏幕随机位置
            • 5秒后自动消失
            • 可随时点击关闭按钮手动关闭

            你可以根据自己的喜好进行以下自定义:

            1. 修改提示内容:编辑tips列表,添加你自己的提示语
            2. 调整配色:在color_schemes中添加或修改配色方案
            3. 更改显示时间:修改window.after(5000, ...)中的5000毫秒值
            4. 调整窗口数量:修改range(5)中的数字来控制窗口数量
            5. 添加动画效果:可以尝试添加淡入淡出等动画效果

            • 使用Tkinter创建GUI界面
            • 使用Toplevel创建多个窗口
            • 使用place进行精确布局
            • 使用after实现定时功能
            • 随机化增强用户体验

            这个小小的Python程序展示了如何使用Tkinter创建美观实用的桌面应用。它不仅是一个温馨的提醒工具,也是学习Python GUI编程的好例子。你可以在此基础上继续扩展,比如添加设置界面、数据库支持、网络功能等,打造更加强大的个人助手应用。

            以上就是利用Python打造一个美观的桌面温馨提醒弹窗的详细内容,更多关于Python桌面提醒弹窗的资料请关注风君子博客其它相关文章!

            您可能感兴趣的文章:

            • 利用Python实现无限弹窗满屏表白的示例代码
            • Python Tkinter美化弹窗的示例详解
            • Python使用pycharm实现无限弹窗程序
            • Python Socket实现远程木马弹窗详解
            • Python Selenium弹窗处理操作指南

            站内搜索