基于Python实现商场抽奖小系统
作者:顾木子吖 发布时间:2021-07-01 14:46:14
导语
嘿!下午好,木子来上新啦~
期待今天的内容嘛?挠头.jpg 日常等更新的小可爱们我来了。看看给大家带来了什么好东西
💦💦💦💦💦💦💦💦💦💦💦💦我是华丽的分隔符💦💦💦💦💦💦💦💦💦💦💦💦💦
今天早上出门了一趟,话说长沙的天气用一个字形容就是:”热“、二个字形容:”真热“、三个字形容:”热死人“,据说这几天的温度快达到40°了。大家记得做好防晒哦~
一出门就感受到了太阳的拥抱,泪流满面的做完事情之后跑到商场喝了杯茶颜,然后逛着街吹着免费的空调,巴适的很啊!逛商场的时候看到了转盘抽奖活动,简直不要太适合我这种想买买买(白嫖)的人。嘿嘿,嘛~说了这么多的(废话)话,揭开谜底吧!我想你们等不及了
今天的主题就是给大家制作一款商场抽奖小系统,保证你喜欢,学了不后悔系列~
一、运行环境
小编使用的环境:Python3、Pycharm社区版、Tkinter、PIL模块部分自带就不一一 展示啦。
模块安装:pip install -i https://pypi.douban.com/simple/+模块名
二、素材(图片等)
界面图片的话可以自己准备,这里不展示,想换什么背景可以自己随便找一张图就可哈。
但是要注意背景的大小尺寸问题哈。
三、代码展示
基本上每行代码都有注释的,这款代码写的挺简单的,有点儿小基础的可以看的懂哈!
如没基础小白的话可以找我先拿一些简单的视频,教你从0开始学习吧!
import time
import threading
from PIL import Image
import tkinter as tk # 导入 tk库 模块
import random # 导入 随机库 模块
root = tk.Tk() #初始化Tk() 建立一个窗口
root.title('简易商场抽奖系统-顾木子吖') # 设置标题
root.minsize(1000, 700)
photo = tk.PhotoImage(file="ETA.png") # file:图片路径
imgLabel = tk.Label(root, image=photo) # 把图片整合到标签类中
imgLabel.pack(side=tk.RIGHT) # 右对齐
label1 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 50))
label1.place(x=0, y=600, width=390, height=250)
label2 = tk.Label(root, text='1000优惠券', bg='yellow', font=('Arial', 50))
label2.place(x=0, y=10, width=390, height=250)
label3 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 50))
label3.place(x=390, y=10, width=390, height=250)
label4 = tk.Label(root, text='苹果手机', bg='yellow', font=('Arial', 50))
label4.place(x=780, y=10, width=390, height=250)
label5 = tk.Label(root, text='再来一次', bg='yellow', font=('Arial', 50))
label5.place(x=1170, y=10, width=390, height=250)
label6 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 50))
label6.place(x=1560, y=10, width=390, height=250)
label7 = tk.Label(root, text='5000优惠券', bg='yellow', font=('Arial', 50))
label7.place(x=1560, y=600, width=390, height=250)
label8 = tk.Label(root, text='谢谢惠顾', bg='yellow', font=('Arial', 50))
label8.place(x=1170, y=600, width=390, height=250)
label9 = tk.Label(root, text='一台小汽车', bg='yellow', font=('Arial', 50))
label9.place(x=780, y=600, width=390, height=250)
label10 = tk.Label(root, text='再来一次', bg='yellow', font=('Arial', 50))
label10.place(x=390, y=600, width=390, height=250)
label11 = tk.Label(root, text='顾木子吖', bg='white', font=('Arial', 20))
label11.place(x=1250, y=900, width=700, height=100)
# 将所有抽奖选项添加到列表
things = [label1, label2, label3, label4, label5, label6, label7, label8, label9, label10]
# 获取列表的最大索引值
maxvalue = len(things) - 1
# 设置起始值为随机整数
starts = random.randint(0, 6)
# 是否停止标志
notround = False
# 定义滚动函数
def round():
t = threading.Thread(target=startup) #启动start
t.start()
# 定义开始函数
def startup():
global starts
global notround
while True:
# 检测停止按钮是否被按下
if notround == True:
notround = False
return starts
# 程序延时
time.sleep(0.017)
# 在所有抽奖选项中循环滚动
for i in things:
i['bg'] = 'lightSkyBlue' #开始时 底色变成天蓝
things[starts]['bg'] = 'red' #滚动框为 红色
starts += 1
if starts > maxvalue:
starts = 0
# 定义停止函数
def stops():
global notround # notround 为全局变量
global starts
notround = True #停止标志位
if starts == 1: # 如果抽中“简易四轴”就跳转为“谢谢惠顾”【奸商^_^】
starts = 2
# 设置启动按键 背景文本为“RUN” 底色为“天蓝” 字体“Arial” 字体大小“50” 回调函数command 为【滚动】
btn1 = tk.Button(root, text='RUN', bg='lightSkyBlue', font=('Arial', 50), command=round)
#设置按键坐标
btn1.place(x=800, y=850, width=200, height=200)
# 设置停止按键 背景文本为“RUN” 底色为“红色” 字体“Arial” 字体大小“50” 回调函数command 为【停止】
btn2 = tk.Button(root, text='STOP', bg='red', font=('Arial', 50), command=stops)
#设置按键坐标
btn2.place(x=1000, y=850, width=200, height=200)
四、效果展示
1)界面效果
这个程序界面比较大,截图之后科能看的不是很清楚,大家可以自己运行看的清楚些。
2)RUN运行
鼠标点击RUN运行按住STOP停止,随机抽奖的哈。我运气还是不错的小汽车能带回家,哈哈
这里没有视频展示,都是随便截图看下效果的哈,没有那么好~
运行起来是一直再轮流随机闪动的哈。
来源:https://blog.csdn.net/weixin_55822277/article/details/125895965
猜你喜欢
- 导语哈喽!大家晚上好,我是木木子吖,很久没给大家更新游戏代码的类型啦~骰子,是现在娱乐场所最常见的一种玩乐项目。一般骰子分两人和两人以上玩,
- 在一些网页应用中,就比如在投票系统中,当我们进行的是多项投票时,我们要求用户最多只能选择几项进行投票,这也是就是说选择复选框的个数最多几个.
- 这次让我们来看看一个真实场景吧:银行转账一、举例银行转账假设现在有一个xuewei的账号里面有 100W。然后有多个任务在转账,转入转出都是
- 哪的资料都不如官方资料权威。今天总算从MSDN中择出了ASP编码问题的解决方案。下面是MSDN中的一段话。Setting @CODEPAGE
- Wingdings字体,Symbol字体<html> <head> <title>
- 使用图层可以像素为单位精确定位页面元素,并且可以将层放置在页面的任意位置。当把页面元素放入图层之中时,还可以控制哪个显示在前面、哪个显示在后
- 这篇文章主要介绍了python如何基于redis实现ip代理池,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,
- 概要不要以为 Python 有自动垃圾回收就不会内存泄漏,本着它有“垃圾回收”我有“垃圾代码”的精神,现在总结一下三种常见的内存泄漏场景。无
- 本文实例为大家分享了python实现吃苹果小游戏的具体代码,供大家参考,具体内容如下1.公共类模块import pygamefrom pyg
- python实现取余操作的方法:可以利用求模运算符(%)来实现。求模运算符可以将两个数相除得到其余数。我们还可以使用divmod()函数来实
- 1.在pycharm下安装scrapy函数库2.将安装好scrapy函数库下的路径配置到系统path的环境变量中3.打开cmd终端输入:sc
- 如果你从来没有使用过Python,我强烈建议你阅读Python introduction,因为你需要知道基本的语法和类型。包管理Python
- 本文实例讲述了PHP扩展Swoole实现实时异步任务队列。分享给大家供大家参考,具体如下:假如要发100封邮件,for循环100遍,用户直接
- 作为开发者,我们可以通过以下3中方式来配置logging:1)使用Python代码显式的创建loggers, handlers和format
- 问:我想问一下我在重新装完系统以后装SQL Server2000时提示:以前某个程序安装已在计算机上创建挂起的文件操作,运行安装
- 本文实例为大家分享了Python实现简单飞机大战的具体代码,供大家参考,具体内容如下功能玩家飞机可以移动,可以发射 * ,敌机随机产生,自由坠
- 1.指向“开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外
- 在开始部分,请看官非常非常耐心地阅读下面几个枯燥的术语解释,本来这不符合本教程的风格,但是,请看官谅解,因为列位将来一定要阅读枯燥的东西的。
- 1. 首先看要设置登陆的界面 book/view.py@user_util.my_login #相当于 select_all=my_logi
- 京东购物车抢购商品1.Python的下载和安装这里由于我们代码是基于Python来执行的所以我们这里需要2个东西:一个是Python本身,另