又到了每年一度的年会,最期盼的可能就是抽奖环节了。如果大家都吐槽抽奖不公,那不如用程序来抽吧。

实现思路

在屏幕上不断滚动名字,然后点击停止后停止滚动。名单是保存在excel中,所以需要从excel解析出名单。有思路了,那就开始吧。

素材准备

先找一张背景图吧,有鼓,那么就把鼠标变成鼓槌,敲一下鼓开始滚动,再敲一下鼓就停止滚动,依次循环。思想不错,那就这么实现吧。

还需要一个鼓槌的图片,如下图片。但是该图背景是白色的,在红色背景图片

上的绘制出来会是白色图片,所以需要将图片白色背景修改为透明。只能自己动手,装个Photoshop来修改了。具体方法百度一下就可以了很简单。

没有背景音乐有点乏味,那就加个背景音乐吧,网上找了一个鼓声的短音乐。

万事俱备只欠撸码

按功能块大概说说:

由于数据存在excel中,所以需要将excel的数据解析,并导入内存。我是用tuple的list来保存的。数据模型,[(工号,名字)],用到的库 import xlrd;

UI界面就用了游戏编程使用的pygame包,import pygame即可(前提是已经安装了pygame);

背景音乐和鼠标替换都使用pygame的接口:

音乐:

pygame.mixer.init()

pygame.mixer.music.load('9224.wav')

pygame.mixer.music.play()

pygame.mixer.music.stop()

鼠标替换:

思路就是隐藏鼠标,然后在鼠标的位置绘制图片即可。

x, y = pygame.mouse.get_pos()

x -= m.get_width() / 2

y -= m.get_height() / 2

pygame.mouse.set_visible(False)

screen.blit(m, (x, y))

打包为exe,让其在任何一台windows电脑都能飞起来:

一直用的pyinstaller,还是比较方便好用,依赖的数据文件别忘记copy到exe目录下即可。

os.system("pyinstaller -F Annual_awards_main.py")

os.system("copy 9224.wav dist\\")

os.system("copy bg_1366x768.png dist\\")

完整源码

https://github.com/ggangliu/Annual-meeting-lottery.git

2019年换个背景图片还能接着用

编程有时候能够带给我们乐趣

python 公司年会抽奖_用Python做个年会抽奖小程序吧相关推荐

  1. python开发跟淘宝有关联微_为什么微商和淘宝卖家不得不做公众号和小程序?

    文/王爷 整理/叨叨 最近一个月,微信方面的动作比较多,尤其是有关微信小程序方面的动态,起码更新了4次.或许很多人还不知道什么是微信小程序,简单来说就是一个无需安装.即用即走的生长在微信上的一个应用. ...

  2. python实现宿舍管理系统_基于PYTHON微信小程序的病历管理系统的设计与实现

    好程序设计擅长JAVA(SSM,SSH,SPRINGBOOT).PYTHON(DJANGO/FLASK).THINKPHP.C#.安卓.微信小程序.MYSQL.SQLSERVER等,欢迎咨询 今天记录 ...

  3. 社区团购怎么做_分享有哪些方法可以做社区团购小程序

    今天我们要分享的是社区团购,那么有的小伙伴就会问了什么是社区团购呢,我们简单的来说下社区团购是一种新型的团购模式,刚开始主要是通过团长搭建社群来发布相应的优惠活动,然后吸引用户下单,最后由团长进行订单 ...

  4. access突然需要登录_早知道早好,微信小程序登录开发需要注意的事项

    最近公司要做一个企业微信的小程序,方便企业内的成员来登录,以便一些公司内的业务,只限于公司内的成员来操作,因为有微信小程序的开发经验,所以先当作微信小程序来开发了! 首先来讲一下这个企业微信小程序与微 ...

  5. 2019小程序没必要做了_2019微信小程序的发展前景怎么样?有必要开发微信小程序吗?...

    微信小程序自从上线以来,一直很受大家的欢迎,当然微信小程序的功能也在不断的更新着,小程序共有七项主要功能,相信创业者对于这7种不同的功能,会迸发出更多的奇思妙想,那么通过功能我们可以思考一下,2019 ...

  6. 微信小程序云开发用户身份登录_你必须要掌握的微信小程序云开发

    微信小程序开发已经成为目前最火爆的技能之一,无论是在求职.毕设.兴趣培养等方面都已经成为一项必备技能,而小程序云开发技术的出现更是点燃了整个小程序生态圈. 在2019微信公开课PRO小程序分论坛上,腾 ...

  7. 微信扫码下单小程序怎么弄(做扫码下单小程序的方法)

    很多粉丝朋友咨询我们说:自己想要弄个微信扫码下单的小程序该怎么弄?本文小编就给大家分享一下做扫码下单小程序的方法. 做个扫码下单小程序之前,我们首先要清楚自己的行业以及自己的产品或者服务是哪种类型.然 ...

  8. 区块链软件公司 区块链怎样在各个职业里担任小程序的人物?

    区块链软件公司 区块链怎样在各个职业里担任小程序的人物? 现在区块链在职业发展的初期,但它已使用到一些职业中,并展示了巨大的优势.未来的使用前景更是不行估量! 并不是每个职业都需求区块链,而一些职业在 ...

  9. ai绘画知识:做一个AI绘画小程序要花多少钱?

    ai绘画彻底火了,赛道一度火过了当年的短视频行业.目前AI绘画以依托于微信小程序为主.如数画.意间.无界版图.灵境.6PEN.盗梦师这些AI绘画小程序清一色是10月份后上线.仅仅两月时间,但都已圈的用 ...

  10. 点餐小程序有什么用,做个点餐小程序多少钱

    **点餐小程序**有什么用,做个点餐小程序多少钱 随着互联网的发展,线上支付,线上点餐,线上购物都成了必然趋势,如果你的餐厅还没有做点餐小程序,那你可能落后了. 点餐小程序的特点 1.小程序轻便灵活 ...

最新文章

  1. 编程成长日记——有意思的编程题(二)
  2. SAP PM 初级系列11 - 为维修工单触发采购申请
  3. oracle查看字典结构体,Oracle数据字典的实操
  4. Selenium Web 自动化 - 如何找到元素
  5. 交换排序 —— 快速排序
  6. linux换源 最最简单
  7. Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案
  8. oracle汽车排量怎么写,这样的表中的数据怎样排量修改啊。
  9. Entity Framework Core的贴心:优雅处理带默认值的数据库字段
  10. 2016蓝桥杯C++A:寒假作业(详细解析)
  11. Oracle连续排名,oracle不连续排名rank() over(order by column desc),连续排名 dense_rank over(order by)...
  12. 计算机科学与技术_080702,电子科学与技术(专业代码;080702)专业介绍与解读
  13. linux 解压 WinRAR 压缩文件
  14. Dwg,png,jpg,Dxf格式转换
  15. MATLAB基础教程(xlsread和xlswrit函数+数据拟合+数值计算)
  16. 1:72 美M26龙式重型坦克拖车
  17. 田野调查手记·浮山篇(一)
  18. 《管理学》之组织设计(进度一)
  19. 可变参数传递与不可变参数传递
  20. 移植中文TTS(ekho)到ARM linux开发板

热门文章

  1. 页面间传输中文的乱码解决方法
  2. 采用预取(Prefetch)来加速你的网站(转)
  3. 指针A - 签到题(顺序三元组)
  4. 我在美国与“狼”共舞的日子(7)
  5. WKQ学习(后台知识)
  6. ElasticSearch 创建父子类型
  7. 各种版本的ST-LINK仿真器
  8. 《Objective-c》Foundation框架 -(NSDate)
  9. LVS(MASTER---NAT)
  10. PermGen space处理方法1