教你用Tkinter+多线程制作一个520表白程序~

简介: 大家好,我是志斌~每逢过节的时候,志斌都要绞尽脑汁想送给女朋友什么礼物,从而让她有一个与众不同的节日惊喜。这不今天520嘛,志斌尝试用Python给女朋友写了一个表白小程序!

大家好,我是志斌~


每逢过节的时候,志斌都要绞尽脑汁想送给女朋友什么礼物,从而让她有一个与众不同的节日惊喜。这不今天520嘛,志斌尝试用Python给女朋友写了一个表白小程序!


下面志斌就带大家来领略一下用Python表白的方式,让女朋友们感受一下学Python的人的浪漫。

01创建窗口


创建窗口我们使用的是Tkinter模块,Tkinter 是 Python 的标准 GUI 库,Python 使用 Tkinter 可以快速的创建 GUI 应用程序。单个窗口的代码如下:


import tkinter as tk
window = tk.Tk()
window.title('520快乐')
window.geometry("400x100" + "+" +str(20) + "+" + str(20))   #调整窗口大小
tk.Label(window,
        text='520快乐!',  # 窗口文字内容
        bg='pink',  # 窗口背景颜色
        font=('微软雅黑', 20),  # 字体和字体大小
        width=90, height=80# 窗口背景颜色长宽
        ).pack()  # 固定窗口位置
window.mainloop()


效果如下:


23.png


02满屏展示


仅仅展示一个页面也太过于简单了,怎么能够体现出我们对女朋友的感情呢!


我们可以通过使用Threading和Time这两个库,让窗口可以在屏幕中多个运行,代码如下:

import threading
import time
threads = []
for i in range(520):  # 需要的弹框数量
   shuliang = threading.Thread(target=biaobai)
   threads.append(shuliang)
   time.sleep(0.3)   #弹框出现的时间间隔
   threads[i].start()


让我们来看看效果:



24.gif


我们发现,这个窗口只在这一个地方展示,并没有做到全屏随机展示,所以我们要给它加上一个随机展示,代码如下:


import random
width = window.winfo_screenwidth()
height = window.winfo_screenheight()
a = random.randrange(0, width)
b = random.randrange(0, height)



让我们来看看最终效果:


25.gif


03打包程序


我们现在是在自己电脑上运行的,但是在女朋友的电脑上可能并没有Python的运行环境,所以我们要将程序打包好,然后发给女朋友让她使用。


首先要安装pyinstaller库,命令如下:

pip install PyInstaller


打包命令:

pyinstaller -F py文件路径;


打包成功后,可以在生成的dist文件夹下寻找生成的exe。



如果有读者对本文程序感兴趣,在「志斌的Python笔记」后台回复“520” ,即可获取该程序!有需要源码的读者点击下方「在看」,即可找志斌领取源码哟~


相关文章
|
2月前
|
缓存 负载均衡 安全
在Python中,如何使用多线程或多进程来提高程序的性能?
【2月更文挑战第17天】【2月更文挑战第50篇】在Python中,如何使用多线程或多进程来提高程序的性能?
|
3月前
|
人工智能 Java API
Python 潮流周刊#28:两种线程池、四种优化程序的方法
Python 潮流周刊#28:两种线程池、四种优化程序的方法
25 1
|
7月前
|
存储 Linux 调度
确保并发执行的安全性:探索多线程和锁机制以构建可靠的程序
在当今计算机系统中,多线程编程已成为常见的需求,然而,同时也带来了并发执行的挑战。为了避免数据竞争和其他并发问题,正确使用适当的锁机制是至关重要的。通过阅读本文,读者将了解到多线程和锁机制在并发编程中的重要性,以及如何避免常见的并发问题,确保程序的安全性和可靠性。通过实际案例和代码示例来说明如何正确地使用多线程和锁机制来构建可靠的程序。
20 1
|
5月前
|
数据采集 人工智能 数据可视化
Scala多线程爬虫程序的数据可视化与分析实践
Scala多线程爬虫程序的数据可视化与分析实践
|
3天前
|
消息中间件 程序员 调度
Python并发编程:利用多线程提升程序性能
本文探讨了Python中的并发编程技术,重点介绍了如何利用多线程提升程序性能。通过分析多线程的原理和实现方式,以及线程间的通信和同步方法,读者可以了解如何在Python中编写高效的并发程序,提升程序的执行效率和响应速度。
|
2月前
|
缓存 编译器 程序员
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度
83 0
|
3月前
|
安全 Java 开发者
Python多线程编程实战:提高程序执行效率的策略
Python多线程编程实战:提高程序执行效率的策略
126 1
|
3月前
|
Java
如何在Java中使用多线程提高程序性能
【2月更文挑战第2天】在当今的计算机应用领域中,性能是一个不可忽视的重要因素。为了提高程序的性能,我们可以采用多种方法。其中一种方法是使用多线程。本文将介绍如何在Java中使用多线程来提高程序性能。
29 2
|
4月前
|
安全 前端开发 测试技术
《C++ Concurrencyin Action》第10章--多线程程序的测试和调试
《C++ Concurrencyin Action》第10章--多线程程序的测试和调试
|
5月前
|
监控 安全 Java
【python实操】马上毕业了,你还不懂什么是守护线程、线程、进程?(附12306抢票程序-源代码)
【python实操】马上毕业了,你还不懂什么是守护线程、线程、进程?(附12306抢票程序-源代码)
41 0

相关实验场景

更多