“新年祝福弹窗,了解一下”
已经和的大家探讨过弹窗问题了,这次我们再来一个骚操作。
正所谓授人以鱼不如授人以渔,这次把弹框的制作方法给大家讲清楚。然后让大家自己去动手制作自己想要的弹框。
01
—
代码实现
主要使用到的模块tkinter,这是python自带的模块,方便学习,每一行都加上了注释:下面是圣诞节的弹窗实现的方式。
import tkinter as tk
import random
import threading
import time
def window(a):
window = tk.Tk()#实例化对象。
window.overrideredirect(True)#设置关闭窗口按钮是否显示
width = window.winfo_screenwidth()#获取窗口长宽
height = window.winfo_screenheight()
x = random.randrange(0, width)#获取屏幕长高
y = random.randrange(0, height/2)
tk.Label(window,
text=a, # 标签的文字
bg='green', # 背景颜色
font=('楷体', 17), # 字体和字体大小
).pack() # 固定窗口位置
for i in range(width-300):#实现移动窗口
if x+i==width-300:
window.destroy()#关闭窗口
return
window.attributes("-alpha",0.5)#设置窗口透明度
window.geometry("150x30" + "+" + str(x+i*2) + "+" + str(y))#移动窗口位置
window.update()#刷新窗口位置
window.mainloop()
threads = []
list1=["生日快乐"]#需要的祝福信息。@
for i in range(9): # 需要的弹框数量
t = threading.Thread(target=window,args=(list1[0],))#这里的0表示的是列表中需要展示的数据,当然这里你可以在列表中增加字段数量,这里也可以替换为i
threads.append(t)#将函数加入到线程中
time.sleep(0.1)#加上停顿时间,防止太快,卡死。
threads[i].start()#启动线程
注意,上方出现@符号的地方可以更换为读取文件数据,比如:
list=[]
with open("test.py","r+") as f:
for i in range(10):#读取文件中的10行
list.append(f.readline())#f.readline()其实是一迭代器,调用一次就读取一次文件,用法简单
list1=["圣诞快乐"]#需要的祝福信息。@
for i in range(9): # 需要的弹框数量
t = threading.Thread(target=window,args=(list[i],))#这里的0表示的是列表中需要展示的数据,当然这里你可以在列表中增加字段数量,这里也可以替换为i
threads.append(t)#将函数加入到线程中
time.sleep(0.1)#加上停顿时间,防止太快,卡死。
threads[i].start()#启动线程
这里可以个人需要进行修改,采用读取文件还是喜欢定义一个单独的文字。正所谓举一反三。
打包,代码已经写好了,可是只是一堆代码,如果需要运行,还需要安装python环境,怎么办呢?
我们需要将他们进行打包,需要用到模块pyinstaller
pip install PyInstaller
安装成功之后,找到我们需要的文件,使用命令
pyinstall -w -F +文件名称
-F 表示生成单个可执行文件
-w 表示去掉控制台窗口,这在GUI界面时非常有用。
然后我们就可以在新生成的两个文件夹下的dist中找到我们生成的exe了。是不是很神奇呢?
02
—
扩展
已经可以实现祝福弹窗,以此类推,我们可以将祝福语换了,比如春节快乐,元旦快乐,元宵快乐,七夕节快乐;还在等什么,有代码还怕什么,给别人一个又惊又喜的弹窗吧!
各种弹窗已经为大家打包好了,后台回复,“弹窗”,领取属于 你的大礼包吧!