最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Python打造一個(gè)美觀的桌面溫馨提醒彈窗

 更新時(shí)間:2025年10月31日 09:00:27   作者:小L~  
本文介紹了如何使用Python和Tkinter庫(kù)創(chuàng)建一個(gè)美觀實(shí)用的桌面溫馨提醒彈窗應(yīng)用程序,該程序具有隨機(jī)位置顯示、多樣化內(nèi)容、自動(dòng)管理和交互便捷等優(yōu)點(diǎn),文章還詳細(xì)講解了代碼實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下

效果

功能亮點(diǎn)

  • 美觀的UI設(shè)計(jì):采用現(xiàn)代化配色方案,柔和而不刺眼
  • 隨機(jī)位置顯示:每次出現(xiàn)在屏幕不同位置,避免視覺疲勞
  • 多樣化內(nèi)容:豐富的提示語(yǔ)和emoji圖標(biāo)
  • 自動(dòng)管理:幾秒后自動(dòng)關(guān)閉,不干擾工作
  • 交互便捷:支持點(diǎn)擊關(guān)閉,用戶體驗(yàn)良好

源碼如下:

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():
	# 創(chuàng)建窗口
	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)

	# 窗口設(shè)置
	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)

	# 設(shè)置窗口背景
	window.configure(bg=scheme['bg'])

	# 提示文字
	tips = [
		'?? 記得多喝水哦~', '?? 保持微笑,好運(yùn)自然來(lái)', '? 今天也要元?dú)鉂M滿!',
		'?? 多吃水果身體好', '?? 保持好心情最重要', '?? 好好愛自己呀',
		'?? 有人在想你哦~', '?? 夢(mèng)想一定會(huì)成真', '?? 期待下一次見面',
		'?? 一切都會(huì)順順利利', '?? 早點(diǎn)休息別熬夜', '?? 今天過(guò)得開心嗎?',
		'?? 天冷了,記得添衣', '?? 學(xué)習(xí)工作要?jiǎng)谝萁Y(jié)合', '?? 聽首歌放松一下吧',
		'?? 出去走走,呼吸新鮮空氣', '?? 你是最棒的!', '?? 保持創(chuàng)造力',
		'?? 記得聯(lián)系老朋友', '?? 適當(dāng)獎(jiǎng)勵(lì)自己', '?? 聞聞花香,心情變好'
	]
	tip = random.choice(tips)

	# 創(chuàng)建內(nèi)容
	# 圖標(biāo)
	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)

	# 關(guān)閉按鈕
	close_btn = tk.Button(
		window,
		text='關(guān)閉',
		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秒后自動(dòng)關(guān)閉
	window.after(5000, window.destroy)


def main():
	# 創(chuàng)建主窗口但不顯示
	root = tk.Tk()
	root.withdraw()

	# 創(chuàng)建多個(gè)提示窗口
	for i in range(300):  # 創(chuàng)建5個(gè)窗口
		create_beautiful_tip()
		root.update()  # 更新GUI
		time.sleep(0.5)  # 間隔0.5秒

	# 退出程序
	root.after(100000, root.destroy)
	root.mainloop()


if __name__ == '__main__':
	main()

代碼解析

1. 環(huán)境設(shè)置與導(dǎo)入

import random
import time
import tkinter as tk
import os

os.environ['TK_SILENCE_DEPRECATION'] = '1'

這里我們導(dǎo)入了必要的庫(kù),并設(shè)置環(huán)境變量來(lái)抑制Tkinter可能產(chǎn)生的libpng警告。

2. 彈窗創(chuàng)建函數(shù)

create_beautiful_tip() 函數(shù)是程序的核心,負(fù)責(zé)創(chuàng)建單個(gè)提示窗口:

def create_beautiful_tip():
    window = tk.Toplevel()
    # 獲取屏幕尺寸并計(jì)算隨機(jī)位置
    screen_width = window.winfo_screenwidth()
    screen_height = window.winfo_screenheight()
    # ... 窗口設(shè)置代碼

我們使用Toplevel()創(chuàng)建新窗口,而不是Tk(),這樣可以在一個(gè)主程序下創(chuàng)建多個(gè)窗口。

3. 美觀的配色方案

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

我們定義了幾組協(xié)調(diào)的配色方案,每次隨機(jī)選擇一組,使每個(gè)窗口都有獨(dú)特的視覺效果。

4. 內(nèi)容布局

# 圖標(biāo)
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幾何管理器精確定位圖標(biāo)和文字,確保布局整齊美觀。

5. 自動(dòng)關(guān)閉機(jī)制

window.after(5000, window.destroy)

使用Tkinter的after方法設(shè)置5秒后自動(dòng)關(guān)閉窗口,避免窗口一直占用屏幕空間。

運(yùn)行效果

運(yùn)行程序后,屏幕上會(huì)依次出現(xiàn)5個(gè)美觀的提示窗口,每個(gè)窗口:

  • 顯示隨機(jī)選擇的溫馨話語(yǔ)
  • 使用隨機(jī)配色方案
  • 出現(xiàn)在屏幕隨機(jī)位置
  • 5秒后自動(dòng)消失
  • 可隨時(shí)點(diǎn)擊關(guān)閉按鈕手動(dòng)關(guān)閉

自定義建議

你可以根據(jù)自己的喜好進(jìn)行以下自定義:

  1. 修改提示內(nèi)容:編輯tips列表,添加你自己的提示語(yǔ)
  2. 調(diào)整配色:在color_schemes中添加或修改配色方案
  3. 更改顯示時(shí)間:修改window.after(5000, ...)中的5000毫秒值
  4. 調(diào)整窗口數(shù)量:修改range(5)中的數(shù)字來(lái)控制窗口數(shù)量
  5. 添加動(dòng)畫效果:可以嘗試添加淡入淡出等動(dòng)畫效果

技術(shù)要點(diǎn)

  • 使用Tkinter創(chuàng)建GUI界面
  • 使用Toplevel創(chuàng)建多個(gè)窗口
  • 使用place進(jìn)行精確布局
  • 使用after實(shí)現(xiàn)定時(shí)功能
  • 隨機(jī)化增強(qiáng)用戶體驗(yàn)

總結(jié)

這個(gè)小小的Python程序展示了如何使用Tkinter創(chuàng)建美觀實(shí)用的桌面應(yīng)用。它不僅是一個(gè)溫馨的提醒工具,也是學(xué)習(xí)Python GUI編程的好例子。你可以在此基礎(chǔ)上繼續(xù)擴(kuò)展,比如添加設(shè)置界面、數(shù)據(jù)庫(kù)支持、網(wǎng)絡(luò)功能等,打造更加強(qiáng)大的個(gè)人助手應(yīng)用。

以上就是利用Python打造一個(gè)美觀的桌面溫馨提醒彈窗的詳細(xì)內(nèi)容,更多關(guān)于Python桌面提醒彈窗的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論

天台县| 天等县| 晋城| 收藏| 静安区| 安远县| 常德市| 南岸区| 云安县| 香格里拉县| 景宁| 佛教| 平乡县| 宽甸| 五寨县| 晴隆县| 安陆市| 栾城县| 北辰区| 澄迈县| 通化市| 兴海县| 石泉县| 连江县| 永胜县| 乌海市| 乐业县| 南漳县| 会理县| 萍乡市| 大荔县| 读书| 龙陵县| 琼中| 海口市| 青海省| 五原县| 怀化市| 汉沽区| 河北省| 保德县|