当前位置: 代码网 > it编程>前端脚本>Python > 利用Python打造一个美观的桌面温馨提醒弹窗

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

2025年10月31日 Python 我要评论
效果功能亮点美观的ui设计:采用现代化配色方案,柔和而不刺眼随机位置显示:每次出现在屏幕不同位置,避免视觉疲劳多样化内容:丰富的提示语和emoji图标自动管理:几秒后自动关闭,不干扰工作交互便捷:支持

效果

功能亮点

  • 美观的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()

代码解析

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['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几何管理器精确定位图标和文字,确保布局整齐美观。

5. 自动关闭机制

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桌面提醒弹窗的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com