利用Python打造一个美观的桌面温馨提醒弹窗
目录
- 效果
- 功能亮点
- 代码解析
- 1. 环境设置与导入
- 2. 弹窗创建函数
- 3. 美观的配色方案
- 4. 内容布局
- 5. 自动关闭机制
- 运行效果
- 自定义建议
- 技术要点
- 总结
效果



功能亮点
- 美观的UI设计:采用现代化配色方案,柔和而不刺眼
- 随机位置显示:每次出现在屏幕不同位置,避免视觉疲劳
- 多样化内容:丰富的提示语和emoji图标
- 自动管理:几秒后自动关闭,不干扰工作
- 交互便捷:支持点击关闭,用户体验良好
源码如下:
import random
import time
import tkinter as tk
frjavascriptom 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 = [
' 记得多喝水哦~', ' 保持微javascript笑,好运自然来', '✨ 今天也要元气满满!',
' 多吃水果身体好', ' 保持好心情最重要', ' 好好爱自己呀',
' 有人在想你哦~', ' 梦想一定会成真', ' 期待下一次见面',
' 一切都会顺顺利利', ' 早点休息别熬夜', ' 今天过得开心吗?',
' 天冷了,记得添衣', ' 学习工作要劳逸结合', ' 听首歌放松一下吧',
' 出去走走,呼吸新鲜空气', ' 你是最棒的!', ' 保持创造力',
' 记得联系老朋友', ' 适当奖励自己', ' 闻闻花香,心情变好'
]
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),
com编程mand=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()
代码解析
1. 环境设置与导入
import random import time import tkinter as tk import os os.environ['TK_SILENCE_DEPRECATION'] = '1'
这里我们导入了必要的库,并设置环境变量来抑制Tkinter可能产生的libpng警告。
2. 弹窗创建函数
create_beautiful_tip() 函数是程序的核心,负责创建单个提示窗口:
def create_beautiful_tip():
window = tk.Toplevel()
# 获取屏幕尺寸并计算随机位置
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
# ... 窗口设置代码
我们使用Toplevel()创建新窗口,而不是Tk(),这样可以在一个主程序下创建多个窗口。
3. 美观的配色方案
color_schemes = [
{'bg': '#FFE4E6', 'fg': '#BE123C', 'accent': '#FB7185'}, # 粉色系
{'bg': '#F0F9FF', 'fg': '#0369A1', 'accent': '#0EA5E9'}, # 蓝色系
# ... 更多配色
]
scheme = random.choice(color_schemes)
我们定义了几组协调的配色方案,每次随机选择一组,使每个窗口都有独特的视觉效果。
4. 内容布局
# 图标
icon_label = tk.Label(
window,
text=random.choice(icons),
bg=scheme['bg'],
fg=scheme['accentphp'],
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几何管理器精确定位图标和文字,确保布局整齐美观。
5. 自动关闭机制
window.after(5000, window.destroy)
使用Tkinter的after方法设置5秒后自动关闭窗口,避免窗口一直占用屏幕空间。
运行效果
运行程序后,屏幕上会依次出现5个美观的提示窗口,每个窗口:
- 显示随机选择的温馨话语
- 使用随机配色方案
- 出现在屏幕随机位置
- 5秒后自动消失
- 可随时点击关闭按钮手动关闭
自定义建议
你可以根据自己的喜好进行以下自定义:
- 修改提示内容:编辑
tips列表,添加你自己的提示语 - 调整配色:在
color_schemes中添加或修改配色方案 - 更改显示时间:修改
window.after(5000, ...)中的5000毫秒值 - 调整窗口数量:修改
range(5)中的数字来控制窗口数量 - 添加动画效果:可以尝试添加淡入淡出等动画效果
技术要点
- 使用
Tkinter创建GUI界面 - 使用
Toplevel创建多个窗口 - 使用
place进行精确布局 - 使用
after实现定时功能 - 随机化增强用户体验
总结
这个小小的python程序展示了如何使用Tkinter创建美观实用的桌面应用。它不仅是一个温馨的提醒工具,也是学习Python GUI编程的好例子。你可以在此基础上继续扩展,比如添加设置界面、数据库支持、网络功能等,打造更加强大的个人助手应用。
以上就是利用Python打造一个美观的桌面温馨提醒弹窗的详细内容,更多关于Python桌面提醒弹窗的资料请关注编程客栈(www.devze.com)其它相关文章!
加载中,请稍侯......
精彩评论