开发者

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

目录
  • 效果
  • 功能亮点
  • 代码解析
    • 1. 环境设置与导入
    • 2. 弹窗创建函数
    • 3. 美观的配色方案
    • 4. 内容布局
    • 5. 自动关闭机制
  • 运行效果
    • 自定义建议
      • 技术要点
        • 总结

          效果

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

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

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

          功能亮点

          • 美观的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秒后自动消失
          • 可随时点击关闭按钮手动关闭

          自定义建议

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

          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桌面提醒弹窗的资料请关注编程客栈(www.devze.com)其它相关文章!

          0

          上一篇:

          下一篇:

          精彩评论

          暂无评论...
          验证码 换一张
          取 消

          最新开发

          开发排行榜