跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Python

Python 满屏无限弹窗表白脚本实现

该脚本基于 Python Tkinter 库实现满屏无限弹窗效果。通过多线程循环随机生成窗口位置、尺寸、背景色及文字内容,支持多种表白文案与字体样式。程序启动后持续创建弹窗直至手动停止,适用于趣味展示,但需注意合理控制弹窗数量以避免占用过多系统资源。

未来可期发布于 2026/3/21更新于 2026/6/1933 浏览

开发过程

一、准备工作

首先,确保你的电脑上已经安装了 Python 环境。我们需要安装 Tkinter 是 Python 标准库中的一个 GUI(Graphical User Interface,图形用户界面)工具包,其目的是为 Python 开发者提供快捷创建 GUI 应用程序的方式。

二、编写代码

接下来,我们将通过编写一个简单的 Python 脚本来实现满屏无限弹窗的效果。以下是一个基本的示例代码:

import tkinter as tk
import random as ra
import threading as td
import time as ti
import sys
# 定义爱心文字列表,增加多样性
love_texts = [
    '我喜欢你', '❤️', '喜欢你', 'love you', '想你了', '❤️❤️❤️', '永远爱你', '你最可爱', '心动瞬间', '满屏爱意', '❤️心动', '超喜欢你', '你是我的唯一', '我爱你', '❤️永恒', '我想和你在一起', '遇见你真好', '❤️心之所向', '每天想你', '你最特别', '一生有你', '❤️甜甜蜜蜜', '喜欢你的一切', '只喜欢你', '心跳加速', '❤️浪漫时光', '我愿意', '有你真好', '满眼都是你', '❤️不离不弃', '深情不及久伴', '爱你到永远', '你偷走了我的心', '❤️命中注定', '思念成海', '执子之手', '与子偕老', '❤️岁月静好', '心只为你动', '专属告白', 'love u forever', '❤️一心一意', '爱的告白', '非你不可'
]
# 定义颜色列表 - 更明艳、简单、丰富的颜色选择
colors = [
    '#F8C8DC', # 柔和粉色
    '#F5A9CB', # 浅粉色
    '#E9967A', # 柔和珊瑚色
    '#F0E68C', # 卡其色
    '#98FB98', # 浅绿色
    '#87CEEB', # 天蓝色
    '#DDA0DD', # plum
    '#FFDAB9', # 桃子色
    '#B0E0E6', # 淡钢蓝
    '#D8BFD8', # 淡紫色
    '#FFE4B5', # 新罗马金色
    '#E6E6FA', # 淡紫色
    '#FFEBCD', # 米色
    '#F5DEB3', # 小麦色
    '#98D8C8', # 淡青色
    '#F9CB9C', # 浅橙色
    '#C9A0DC', # 浅紫色
    '#B5EAD7', # 淡绿色
    '#C7CEEA', # 淡蓝色
    '#FCE1E4' # 超浅粉色
]
# 定义字体列表
fonts = [
    ("Comic Sans MS", 15),
    ("Arial", 16),
    ("SimHei", 14),
    ("微软雅黑", 15),
    ("幼圆", 16)
]
def create_popup():
    """创建单个弹窗窗口"""
    try:
        # 创建 Tkinter 窗口
        root = tk.Tk()
        # 随机窗口大小
        width = ra.randint(100, 250)
        height = ra.randint(50, 100)
        # 获取屏幕大小
        screenwidth = root.winfo_screenwidth()
        screenheight = root.winfo_screenheight()
        # 随机位置
        x = ra.randint(0, screenwidth - width)
        y = ra.randint(0, screenheight - height)
        # 设置窗口标题和大小位置
        root.title(ra.choice(['❤', '💖', '💕', '💓']))
        root.geometry(f"{width}x{height}+{x}+{y}")
        # 设置窗口透明度(可选)
        root.attributes('-alpha', ra.uniform(0.8, 1.0))
        # 随机选择背景色、文字颜色、文字内容和字体
        bg_color = ra.choice(colors)
        fg_color = 'black' # 文字颜色固定为黑色
        text = ra.choice(love_texts)
        font = ra.choice(fonts)
        # 创建标签
        label = tk.Label(
            root, text=text, fg=fg_color, bg=bg_color, font=font, width=width//10, height=height//20
        )
        label.pack(fill=tk.BOTH, expand=True)
        # 设置窗口置顶
        root.attributes('-topmost', True)
        # 窗口点击关闭
        root.protocol("WM_DELETE_WINDOW", lambda: root.destroy())
        # 移除自动关闭功能,让弹窗保持在屏幕上
        # 启动窗口主循环
        root.mainloop()
    except Exception as e:
        # 捕获异常,防止单个窗口出错影响整体程序
        pass

def popup_loop():
    """无限创建弹窗的循环"""
    try:
        while True:
            # 创建线程来显示弹窗
            thread = td.Thread(target=create_popup)
            thread.daemon = True # 设置为守护线程,主线程结束时自动结束
            thread.start()
            # 设置固定延迟,让弹窗堆积效果更明显
            ti.sleep(0.05) # 更快的弹窗创建速度
    except KeyboardInterrupt:
        # 处理 Ctrl+C 中断
        print("程序已停止")
        sys.exit(0)

if __name__ == "__main__":
    try:
        print("爱心弹窗堆积程序已启动!按 Ctrl+C 停止")
        print("提示:弹窗将持续堆积在屏幕上,数量过多可能影响系统性能")
        popup_loop()
    except KeyboardInterrupt:
        print("程序已停止")

注意:运行此类脚本前请确保了解其行为,避免对他人设备造成困扰或影响正常使用。

目录

  1. 开发过程
  2. 定义爱心文字列表,增加多样性
  3. 定义颜色列表 - 更明艳、简单、丰富的颜色选择
  4. 定义字体列表
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • Buzz 离线语音转文字工具:基于 Whisper 的桌面应用指南
  • Ollama Windows 安装与使用全指南:零配置本地运行 Llama、DeepSeek 等大模型,保障隐私与高效体验
  • 开源实时语音克隆 IndexTTS2:推理加速实测与情绪语速控制
  • DFS 算法简介
  • 高鋒集團與 Web3Labs:資本生態助力傳統企業 Web3 轉型
  • Whisper v0.2 本地语音转文字工具安装与使用指南
  • 分库分表无法解决无限扩容?聊聊单元化架构
  • Easy Rules 规则可视化实战:5 步构建 Web 编辑界面
  • Claude Code Rules 配置详解
  • SQL Server 2016 安装 Microsoft R Open 和 Microsoft R Server 组件问题解决方法
  • 如何避免网页网络负载过大
  • Google 软件工程师面试准备指南:从基础到实战
  • 前端 AJAX 原理与动态页面爬虫实战思路
  • Java 常见面试题及答案汇总
  • 微软 Copilot 与 GitHub Copilot 产品概览
  • 世界模型发展脉络整理:理解世界与预测未来综述
  • Neo4j 5.26 版本安装、下载及配置步骤
  • Flutter 应用架构演进:从基础骨架到 Riverpod 状态管理实战
  • 数据结构实验:链队列的基本操作与实现
  • Qt Creator 配置 GitHub Copilot AI 编程插件指南

相关免费在线工具

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online