用python实现祝福弹窗_python实现弹窗祝福效果

前言

猪年除夕之夜在亲人群抢红包心血来潮,想用python做比较好玩的新年祝福给亲人们乐呵乐呵。奈何初学Python,底子比较薄,通过查阅相关博客,在一位网友的基础代码之下添加改进,使得弹出窗口多样化一些。写此博客,纪念一下(其实也是想清理一下这几个文件了,哈哈)。

代码准备

主要代码结构如下,还有很多可以改进的地方,以后深入学习了的话可以再回过头来看看

import tkinter as tk

import random

import threading # 使用多线程

import time

import functions # functions是自己建立的一个Python文件,后面会简单介绍一下

def dow():

color_list = functions.colors()

font_list = ['黑体', '宋体', '仿宋', '微软雅黑', '楷体', '隶书', '华文琥珀', '幼圆', '华文行楷', '新宋体']

text_list = functions.blesses()

window = tk.Tk()

width=window.winfo_screenwidth()

height=window.winfo_screenheight()

a=random.randrange(0,width)

b=random.randrange(0,height)

window.title('来自一雄的新年祝福') # 一雄是我的名

window.geometry("300x100"+"+"+str(a)+"+"+str(b))

tk.Label(window,

text=random.sample(text_list, 1), # 标签的文字

bg= random.sample(color_list, 1), # 背景颜色

font=(random.sample(font_list,1), 17), # 字体和字体大小

width=20, height=20 # 标签长宽

).pack() # 固定窗口位置

window.mainloop()

def bless(x):

threads = []

for i in range(x): # 需要的弹框数量

t = threading.Thread(target=dow)

threads.append(t)

time.sleep(0.1)

threads[i].start()

def main():

num = int(input('请输入需要的祝福数量:'))

bless(num)

if __name__ == '__main__':

main()

functions文件介绍

最初的代码是dow()函数中直接设定背景颜色和祝福语,我觉得颜色和祝福语都比较单一,于是从网上搜索了Python tkinter模块支持的颜色并用正则表达式提出颜色代号,程序运行时随机抽取一个颜色,祝福语同理。当然所使用的字体也可以用同样的方法,由于我能力有限,也担心有些字体不支持的情况,从而从word中挑取了一些常见的字体存储在一个列表中。

import re

def colors():

"""提取所有的颜色"""

color_list = []

with open('colors.txt', 'r', encoding = 'utf-8') as fo:

for i in fo.readlines():

ret = re.findall(r"[A-Z][a-z][A-Za-z]*",i) # 提取英文

color_list += ret # ret得到的是一个列表,相加使得列表合并

return color_list

def blesses():

"""提取祝福语"""

bless_list = []

with open('blesses.txt', 'r', encoding = 'utf-8') as fo:

for i in fo.readlines():

pattern =re.compile(u"[\u4e00-\u9fa5]+") # 提取全部的中文

result=re.findall(pattern, i)

bless_list += result

return bless_list

*颜色文件如下:*

,#FFC0CB Pink 粉红

,#DC143C Crimson 深红/猩红

,#FFF0F5 LavenderBlush 淡紫红

,#DB7093 PaleVioletRed 弱紫罗兰红

,#FF69B4 HotPink 热情的粉红

,#FF1493 DeepPink 深粉红

,#C71585 MediumVioletRed 中紫罗兰红

,#DA70D6 Orchid 暗紫色/兰花紫

,#D8BFD8 Thistle 蓟色

,#DDA0DD Plum 洋李色/李子紫

,#EE82EE Violet 紫罗兰

,#FF00FF Magenta 洋红/玫瑰红

,#FF00FF Fuchsia 紫红/灯笼海棠

,#8B008B DarkMagenta 深洋红

,#800080 Purple 紫色

,#BA55D3 MediumOrchid 中兰花紫

,#9400D3 DarkViolet 暗紫罗兰

,#9932CC DarkOrchid 暗兰花紫

,#4B0082 Indigo 靛青/紫兰色

,#8A2BE2 BlueViolet 蓝紫罗兰

,#9370DB MediumPurple 中紫色

,#7B68EE MediumSlateBlue 中暗蓝色/中板岩蓝

,#6A5ACD SlateBlue 石蓝色/板岩蓝

,#483D8B DarkSlateBlue 暗灰蓝色/暗板岩蓝

,#E6E6FA Lavender 淡紫色/熏衣草淡紫

,#F8F8FF GhostWhite 幽灵白

,#0000FF Blue 纯蓝

,#0000CD MediumBlue 中蓝色

,#191970 MidnightBlue 午夜蓝

,#00008B DarkBlue 暗蓝色

,#000080 Navy 海军蓝

,#4169E1 RoyalBlue 皇家蓝/宝蓝

,#6495ED CornflowerBlue 矢车菊蓝

,#B0C4DE LightSteelBlue 亮钢蓝

,#778899 LightSlateGray 亮蓝灰/亮石板灰

,#708090 SlateGray 灰石色/石板灰

,#1E90FF DodgerBlue 闪兰色/道奇蓝

,#F0F8FF AliceBlue 爱丽丝蓝

,#4682B4 SteelBlue 钢蓝/铁青

,#87CEFA LightSkyBlue 亮天蓝色

,#87CEEB SkyBlue 天蓝色

,#00BFFF DeepSkyBlue 深天蓝

,#ADD8E6 LightBlue 亮蓝

,#B0E0E6 PowderBlue 粉蓝色/火药青

,#5F9EA0 CadetBlue 军兰色/军服蓝

,#F0FFFF Azure 蔚蓝色

,#E0FFFF LightCyan 淡青色

,#AFEEEE PaleTurquoise 弱绿宝石

,#00FFFF Cyan 青色

,#00FFFF Aqua 浅绿色/水色

,#00CED1 DarkTurquoise 暗绿宝石

,#2F4F4F DarkSlateGray 暗瓦灰色/暗石板灰

,#008B8B DarkCyan 暗青色

,#008080 Teal 水鸭色

,#48D1CC MediumTurquoise 中绿宝石

,#20B2AA LightSeaGreen 浅海洋绿

,#40E0D0 Turquoise 绿宝石

,#7FFFD4 Aquamarine 宝石碧绿

,#66CDAA MediumAquamarine 中宝石碧绿

,#00FA9A MediumSpringGreen 中春绿色

,#F5FFFA MintCream 薄荷奶油

,#00FF7F SpringGreen 春绿色

,#3CB371 MediumSeaGreen 中海洋绿

,#2E8B57 SeaGreen 海洋绿

,#F0FFF0 Honeydew 蜜色/蜜瓜色

,#90EE90 LightGreen 淡绿色

,#98FB98 PaleGreen 弱绿色

,#8FBC8F DarkSeaGreen 暗海洋绿

,#32CD32 LimeGreen 闪光深绿

,#00FF00 Lime 闪光绿

,#228B22 ForestGreen 森林绿

,#008000 Green 纯绿

,#006400 DarkGreen 暗绿色

,#7FFF00 Chartreuse 黄绿色/查特酒绿

,#7CFC00 LawnGreen 草绿色/草坪绿

,#ADFF2F GreenYellow 绿黄色

,#556B2F DarkOliveGreen 暗橄榄绿

,#9ACD32 YellowGreen 黄绿色

,#6B8E23 OliveDrab 橄榄褐色

,#F5F5DC Beige 米色/灰棕色

,#FAFAD2 LightGoldenrodYellow 亮菊黄

,#FFFFF0 Ivory 象牙色

,#FFFFE0 LightYellow 浅黄色

,#FFFF00 Yellow 纯黄

,#808000 Olive 橄榄

,#BDB76B DarkKhaki 暗黄褐色/深卡叽布

,#FFFACD LemonChiffon 柠檬绸

,#EEE8AA PaleGoldenrod 灰菊黄/苍麒麟色

,#F0E68C Khaki 黄褐色/卡叽布

,#FFD700 Gold 金色

,#FFF8DC Cornsilk 玉米丝色

,#DAA520 Goldenrod 金菊黄

,#B8860B DarkGoldenrod 暗金菊黄

,#FFFAF0 FloralWhite 花的白色

,#FDF5E6 OldLace 老花色/旧蕾丝

,#F5DEB3 Wheat 浅黄色/小麦色

,#FFE4B5 Moccasin 鹿皮色/鹿皮靴

,#FFA500 Orange 橙色

,#FFEFD5 PapayaWhip 番木色/番木瓜

,#FFEBCD BlanchedAlmond 白杏色

,#FFDEAD NavajoWhite 纳瓦白/土著白

,#FAEBD7 AntiqueWhite 古董白

,#D2B48C Tan 茶色

,#DEB887 BurlyWood 硬木色

,#FFE4C4 Bisque 陶坯黄

,#FF8C00 DarkOrange 深橙色

,#FAF0E6 Linen 亚麻布

,#CD853F Peru 秘鲁色

,#FFDAB9 PeachPuff 桃肉色

,#F4A460 SandyBrown 沙棕色

,#D2691E Chocolate 巧克力色

,#8B4513 SaddleBrown 重褐色/马鞍棕色

,#FFF5EE Seashell 海贝壳

,#A0522D Sienna 黄土赭色

,#FFA07A LightSalmon 浅鲑鱼肉色

,#FF7F50 Coral 珊瑚

,#FF4500 OrangeRed 橙红色

,#E9967A DarkSalmon 深鲜肉/鲑鱼色

,#FF6347 Tomato 番茄红

,#FFE4E1 MistyRose 浅玫瑰色/薄雾玫瑰

,#FA8072 Salmon 鲜肉/鲑鱼色

,#FFFAFA Snow 雪白色

,#F08080 LightCoral 淡珊瑚色

,#BC8F8F RosyBrown 玫瑰棕色

,#CD5C5C IndianRed 印度红

,#FF0000 Red 纯红

,#A52A2A Brown 棕色

,#B22222 FireBrick 火砖色/耐火砖

,#8B0000 DarkRed 深红色

,#800000 Maroon 栗色

,#FFFFFF White 纯白

,#F5F5F5 WhiteSmoke 白烟

,#DCDCDC Gainsboro 淡灰色

,#D3D3D3 LightGrey 浅灰色

,#C0C0C0 Silver 银灰色

,#A9A9A9 DarkGray 深灰色

,#808080 Gray 灰色

,#696969 DimGray 暗淡灰

,#000000 Black 纯黑'''

*祝福语文件如下:*

万事如意

恭喜发财

财源滚滚

一帆风顺

岁岁平安

财运亨通

五福临门

福星高照

一帆风顺

二龙腾飞

三羊开泰

四季平安

五福临门

六六大顺

七星高照

八方来财

九九同心

十全十美

龙马精神

神采奕奕

一帆风顺

顺理成章

章月句星

星罗棋布

步步高升

升官发财

财源广进

近水楼台

泰然自若

一代英豪

九州生色

八方捷报,

一帆风顺,

二龙腾飞,

三羊开泰

,四季平安,

五福临门,

七星高照,

八方来财,

万事胜意,

合家幸福,

民族崛起,

彪炳千秋

泰然自若

九如之颂

星罗棋布

步步高升

升官发财

财源广进

近水楼台

海屋添寿

日月长明

升官发财

海屋添寿

运行效果

19101518972765048255531753.jpg

time.sleep()的存在使得窗口按照设定的时间间隔弹出,图片所展示的是最终结果。选择终止程序所有的弹窗便可消失了

结语

艾萨克牛顿说过:“我之所以站的高,是因为我站在巨人的肩膀上。”我是在别人的简单的弹出窗口程序的基础上一步步借鉴改进,才得到这个结果的。虽然这个程序对大部分人来说很简单,也很轻易实现,但是我还是花了一定的时间,查阅了很多的代码才调试这个结果,甘之如饴吧,希望自己再接再厉!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

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

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

相关文章

Python之Tkinter使用详解

文章目录 Python之Tkinter使用详解一、基本概念1. 设置GUI界面属性1.1 标题 / 透明度 / 去边框 / 置顶1.2 绑定窗口移动事件 2. 设置执行后的GUI窗口位置2.1 配置窗口在x轴和y轴的位置2.2 配置窗口的高度、宽度和居中显示 3. 16个核心窗口部件4. grid参数使用方法5. 控件颜色对…

xp上能用mysql_在XP上搭建PHP+MySQL平台

前段时间用Z-Blog建了个这个幼峰说事的博,闲的无聊想玩玩WordPress,所以就在本机XP的OS上搭建了个PHPMySQL的平台试玩了下下WordPress。其实百度一下就可以找到很多关于在XP的IIS下搭建PHP的方法,之后还要找找MySQL的配置。弄这弄那的也弄了老…

Markdown使用方法

#目录 : ###一 . Markdown语法 ###二 . 常用LeTeX表达式 ###三 . 颜色设置及代码 一 . M a r k d o w n 语法 一 . Markdown语法 一.Markdown语法1 #一级标题一个# ##二级标题两个# #… ######以此类推最多6级标题6个# 无序列表每行前面一个 -无序列表每行前面一个 - 有序列表…

抓取Amazon产品评论的神器

最近有个网站要准备上线的一些评论数据需要导入Amazon评论到Magento,但是Magento好像没有这样的功能很是闹心,Amazon屏蔽爬虫的功夫也是杠杠的当然也懒得写那玩意,看样子只能依靠万能的Chrome插件了。 插件叫Instant Data Scraper下载地址&a…

亚马逊测评:做亚马逊测评从哪里找单

经常有做亚马逊测评的朋友问我在哪里接单,单子怎么找,今天这篇文章教大家怎么接单,怎么找单。根据跨境电商的报告,美国亚马逊的商家有250万个,全球的亚马逊中国第三方卖家数量超过300万个,这是个巨大的市场…

亚马逊、Lazada、Shopee、速卖通、阿里国际、美客多、eBay、沃尔玛测评自养号,产品权重该如何提高?

产品权重与卖家的产品销售业绩密切相关。比如卖家想要有好的销售业绩,那么高的展销量是很重要的。而亚马逊的产品权重越高,越容易得到平台推荐。平台推荐越多,排名越好,被消费者看到后购买机会越大。那么跨境电商平台产品权重该如…

亚马逊测评提升销量有什么好办法,分享6点技巧

1.对于一个店铺的运营来说,仅仅有好产品还不够,你还得以合适的方式将产品尽可能完美的展示出来,看图购物是网上销售的典型特征。 对于卖家来说,选出了好的产品,要想要产品有销量,一定要在优化上下功夫&…

亚马逊跟卖僵尸采集工具,评星评分查询!品牌查询,关键词,店铺,类目,采集

大家好;最近有朋友问我有没有关于跨境电商,亚马逊的一些实用工具;最好是能采集商品带有跟卖系统,跟卖采集的?以及怎么操作; 今天就给大家分享一下,我自己平时用的一款亚马逊跟卖工具以及他的使…

跨境电商卖家,如何避免被亚马逊黑心测评商家割韭菜?+自养号教学——AdsPower

现在测评行业的水越来越深了。几年前的测评行业都是邮箱联系老外,大多是一些产品的爱好者,评价也很真实公正。而现在,大量中国人加入,还有一些中介的参与,基本上大家都是通过VPN在国内操作。大量的骗子中介、黑心测评买…

对于亚马逊测评的全面讲解

今天这篇文章讲的问题可能很多已经在做补单的卖家和测评工作室的朋友都会遇到,对于准备进入这个市场的朋友来说也是值得一看的文章 为什么买家号会被封,环境容易关联,接不到单,做单技巧,上不了评,掉评&…

亚马逊直评怎么做-亚马逊如何上直评安全

一、直评的作用 1、上新品时没那么快回评,上直评提升转化 2、产品价格高销量小测评成本高 3、第一个评论是差评又删不掉,上直评提升评分 二、亚马逊直评怎么做 自养号成本高,自己做直评技术达不到被删除的几率很高,基本上1-2天…

心脏流血(heartbleed)测试结果比对--淘宝(taobao)VS亚马逊(amazon)VS谷歌(google)

近几天,网络上的重大核爆炸性的技术新闻:OpenSSL报出重大bug,影响网络大部分加密系统的传输安全。 我今天,测试了一下淘宝和谷歌的SSL链接。测试结果如下: 淘宝(测试用时比较长): 亚…

亚马逊产品进行评论后没有显示是什么原因?

1、违反亚马逊服务条款。 亚马逊将根据其政策违规程度,采取阻止其在评论界面显示、删除该评论或限制评论数量等惩罚性措施。 2、审核时间较长。 有时评论审核需要1-3天的时间,甚至评论时间还可能长达两周,所以评论的显示有一定的滞后性。 …

亚马逊,速卖通,国际站卖家在做测评时如何将风险降到最低呢?

测评是亚马逊卖家提升产品可信度和销售表现的重要手段 现在的测评市场遭到卖家们的极力吐槽,想要找到靠谱的资源也越来越难。据了解,去年很多骗子,中介都涌进测评市场,随意报价,导致整个市场鱼龙混杂,卖家…

亚马逊差评对店铺的影响有哪些?

1、拉低整体好评率 卖家收到差评会影响店铺的整体好评率,是买家选择产品的重要参考因素之一。 2、影响产品排名 差评在亚马逊的排名系统中权重很高,会极大影响店铺和产品的排名。一旦差评太多,好评率过低肯定会影响搜索排名,导…

字节跳动各应用平台使用

偶然发现的一个美颜应用轻颜相机,看大家评论挺好的 -相关文章。 突然有的一点感想:在当今大家都沉浸在虚拟网络世界的状态下,有一些识别能力弱的人会沉迷于一些虚假的事物不能自拔。然而许多软件的目的就是-美化事物,也使得虚拟世…

字节跳动是个疯子!

在中国互联网版图上,字节跳动生猛超群,它以“自建产品投资”两轮驱动,推动这艘估值750亿美元的“航空母舰”沿着预定轨道前行。 经授权转载自:全天候科技(iawtmt)| 编辑:安心 PC互联网时代&…

面试字节跳动经历。。。

原文:https://www.zhihu.com/question/31225105/answer/582508111来源:知乎 人们都说,这个世界上有两种人注定单身,一种是太优秀的,另一种是太平凡的。 我一听 呀?那我这岂不是就不优秀了吗,于是…

字节跳动一面:请谈下Android消息机制

一、消息机制概述 1.消息机制的简介 在Android中使用消息机制,我们首先想到的就是Handler。没错,Handler是Android消息机制的上层接口。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。通常情况下&a…

字节跳动核心竞争力到底是什么?

2012年创建的字节跳动,短短几年时间发展到估值接近千亿美元的互联网大鳄,拥有今日头条、抖音、西瓜视频等多个爆品app,除了搭上了移动互联网的春风,其企业自身的核心竞争力也得到了极大的体现。因此,对其核心竞争力进行…