【Python表白系列】无限弹窗,满屏表白代码来啦(完整代码)

文章目录

  • 满屏表白代码
  • 环境需求
  • 完整代码
  • 详细分析
  • 系列文章

满屏表白代码

满屏表白代码

环境需求

  • python3.11.4
  • PyCharm Community Edition 2023.2.5
  • pyinstaller6.2.0可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)

【注】

  • python环境搭建请见:https://want595.blog.csdn.net/article/details/134586653
  • pyinstaller使用教程见:https://want595.blog.csdn.net/article/details/134106807

完整代码

import tkinter as tk
import random as ra
import threading as td
import time as ti
def Love():root=tk.Tk()width=200height=50screenwidth=root.winfo_screenwidth()screenheight=root.winfo_screenheight()x=ra.randint(0,screenwidth)y=ra.randint(0,screenheight)root.title("❤")root.geometry("%dx%d+%d+%d"%(width,height,x,y))tk.Label(root,text='I LOVE YOU!',fg='white',bg='pink',font=("Comic Sans MS",15),width=30,height=5).pack()root.mainloop()
def Heart():root=tk.Tk()screenwidth=root.winfo_screenwidth()screenheight=root.winfo_screenheight()width=600height=400x=(screenwidth-width)//2y=(screenheight-height)//2root.title("❤")root.geometry("%dx%d+%d+%d"%(screenwidth,screenheight,0,0))tk.Label(root,text='❤',fg='pink',bg='white',font=("Comic Sans MS",500),width=300,height=20).pack()root.mainloop()
t=td.Thread(target=Heart)
t.setDaemon(True)  # 设置守护线程
t.start()
for i in range(50):t=td.Thread(target=Love)t.setDaemon(True)  # 设置守护线程ti.sleep(0.1)t.start()

详细分析

这段代码主要实现了在屏幕中央显示一个大红心,并在屏幕上随机显示多个“我爱你”的窗口。

首先导入了 tkinter 用于 GUI 开发,random 用于生成随机数,threading 用于多线程处理,time 用于线程睡眠。

接下来定义了两个函数 HeartLove 分别用于显示大红心和“我爱你”窗口。在 Heart 函数中,通过 root.winfo_screenwidth()root.winfo_screenheight() 获取了屏幕的宽度和高度,然后将窗口设置为全屏状态。在窗口中显示了一个宽度为 300,高度为 20 的红色心形,字体为 “Comic Sans MS”,大小为 500。在 Love 函数中,同样通过 root.winfo_screenwidth()root.winfo_screenheight() 获取了屏幕的宽度和高度,然后通过 random 生成随机的 x 和 y 坐标,创建了一个宽度为 200,高度为 50 的窗口,其中显示了 “I LOVE YOU!” 的字样,字体为 “Comic Sans MS”,大小为 15,字体颜色为白色,背景颜色为粉色。

最后,在主程序中先使用多线程启动了 Heart 函数,将其设置为守护线程;然后循环启动 50 个 Love 线程,将其也设置为守护线程,并在每次启动之间停顿 0.1 秒。整个程序在所有 Love 线程启动后结束运行。

总的来说,这段代码是一段简单的表白程序,通过窗口的显示来表达爱意。代码比较简单易懂,用到了多线程和随机数的知识。

系列文章

Python表白系列文章目录直达链接
1无法拒绝的表白界面
2满屏表白代码https://want595.blog.csdn.net/article/details/134744711
3跳动的爱心https://want595.blog.csdn.net/article/details/134744191
4漂浮的爱心
5爱心光波
6流星雨
7玫瑰花

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/188971.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rust中动态数组Vec的简单使用

在Rust中,Vector(简称Vec)是一个动态数组数据结构,它可以动态地增加或减少其容量。Vec是Rust标准库中的一个常见类型,非常适合用于存储和操作一系列相同类型的值。 Vec其实是一个智能指针,用于在堆上分配内…

2022年1月14日 Go生态洞察:Go 1.18 新教程探索

🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…

绩效考核管理项目|记录2

给界面添加筛选条件并且把搜索功能实现 这段代码写入搜索方法里面就能实现功能。 private void bingdgv(){//筛选项:用户名、职位代码、是否辞职string userName txtUserName.Text.Trim();int baseTypeId (int)base_cbx.SelectedValue;bool isStop isdel_ckb.Che…

【VMware相关】VMware vSphere存储方案

一、iSCSI存储 参考文档 VMware官方文档:配置iSCSI适配器和存储 华为配置指南:VMware ESXi下的主机连通性指南 1、配置说明 如下图所示,VMware配置iSCSI存储,需要将物理网卡绑定到VMKernel适配器上,之后再将VMKernel适…

Golang数据类型(数字型)

Go数据类型(数字型) Go中数字型数据类型大致分为整数(integer)、浮点数(floating point )和复数(Complex)三种 整数重要概念 整数在Go和Python中有较大区别,主要体现在…

opencv 图像边框

cv.copyMakeBorder() 图像设置边框或者填充

PyQt基础_012_对话框类控件QInputDialog

基本操作 import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import *class InputdialogDemo(QWidget):def __init__(self, parentNone):super(InputdialogDemo, self).__init__(parent)layout QFormLayout()self.btn1 QPushButton(&qu…

springboot+java校园自助洗衣机预约系统的分析与设计ssm+jsp

洗衣服是每个人都必须做的事情,而洗衣机更成为了人们常见的电器,但是单个洗衣机价格不菲,如果每人都买,就会造成资源的冗余。所有就出现了公用设备,随着时代的发展,很多公用都开始向着无人看守的自助模式经…

如何访问电脑的组策略编辑器?

如何打开组策略 如果我们使用的是 Win 10 系统,如何打开组策略?下面为大家总结了四种打开组策略编辑器的方法。 从搜索框打开 Win 10 策略组怎么打开?一个简单快速的方法就是使用 Windows 自带的搜索栏。我们可以向搜索框中输入“编辑组策…

【数电笔记】基本和复合逻辑运算

说明: 笔记配套视频来源:B站 基本逻辑运算 1. 与运算 (and gate) 2. 或运算 (or gate) 3. 非运算 (not gate ) 复合逻辑运算 1. 与非运算(nand) 2. 或非运…

【动手学深度学习】(七)丢弃法

文章目录 一、理论知识二、代码实现2.1从零开始实现Dropout 【相关总结】np.random.uniform(low,high,size)astypetorch.rand() 一、理论知识 1.动机 一个好的模型需要对输入数据的扰动鲁棒 使用有噪音的数据等价于Tikhonov正则丢弃法:在层…

vivado实现分析与收敛技巧3-面向非工程用户的智能设计运行建议

要使用智能设计运行功能特性 , 需要 Vivado 工程。这是因为需要进行运行管理。以下指示信息解释了创建综合后工程的最简单方法。这些信息适用于以下流程的用户: • 非工程实现运行 • 使用较低版本的 Vivado 或第三方综合工具进行综合 访问智能设计…

MvLNet

表1 Noisy MNIST–ACC:0.678,F-mea:0.6691,NMI:0.6632,AMI:0.6626 Caltech101-20–ACC:0.3521,F-mea:0.2535,NMI:0.4968,A…

你好!插值查找【JAVA】

1.初次相识 插值查找(interpolation search)是一种根据待查找关键字在有序数组中的大致位置决定查找范围的查找算法。插值查找与二分查找类似,区别在于插值查找对于待查找关键字在数组中的位置进行估计,从而更精准地定位到待查找关…

SpringBoot+mysql+vue实现大学生健康档案管理系统前后端分离

一、项目简介 本项目是一套基于SpringBoot实现大学生健康档案管理系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目可以直接作为bishe使用。 项目都经过严格调试&#…

Android Studio新版UI介绍

顶部菜单栏 左侧主要菜单入口项目名称分支名称 展开之后,主要功能与原来菜单栏功能一样,最大的变化就是把setting独立出去了。 而项目名称这里,展开就可以看到打开的历史工程列表,可以直接新建工程,原来需要在项目名称…

git的相关实用命令

参看文章:https://blog.csdn.net/qq_21688871/article/details/130158888 http://www.mobiletrain.org/about/BBS/159885.html 1、git commit后,但发现文件有误,不想push(提交到本地库,回退到暂存区) git reset --sof…

locked1勒索病毒,刚攻击完海康威视系统,又再针对速达软件服务器攻击

导言: .locked、.locked1勒索病毒正成为数字安全的一大威胁。本文91数据恢复将深入介绍.locked、.locked1勒索病毒的特点、如何有效恢复被其加密的数据文件,以及预防这一数字噩梦的方法。如果您正在经历勒索病毒数据恢复的困境,我们愿意与您…

漏刻有时百度地图API实战开发(7)个性化地图加载瓦片空白和Echarts加载bmap元素跟踪重影

一、地图瓦片加载缓慢或者空白 在使用百度个性化地图时&#xff0c;出现地图瓦片加载缓慢或者空白 解决方案 1.替换百度地图API引入方式 <script type"text/javascript" src"https://api.map.baidu.com/api?v3.0&akI2428Rc4FDz00LSGUYfISLcbPsxOfjx…

.NET 8 发布!

作者&#xff1a;Gaurav Seth 排版&#xff1a;Alan Wang 请立即下载 .NET 8&#xff01; 我们很高兴地宣布从今天开始 .NET 8 正式发布&#xff0c;它是世界领先的开发平台之一的最新 LTS 版本。.NET 8 提供了数以千计的性能、稳定性和安全性改进&#xff0c;以及平台和工具增…