python 转盘 圆形_python实现大转盘抽奖效果
本文实例为大家分享了python实现大转盘抽奖的具体代码,供大家参考,具体内容如下
选择转盘中的某一个方框,来进行抽奖
import tkinter
#导入线程模块
import threading
import time #导入代码的sleep 代码休眠
root = tkinter.tk()
root.title('大转盘')
root.minsize(300,300)
#摆放按钮
btn1 = tkinter.button(root,text = '樱桃',bg = 'red')
btn1.place(x = 20,y = 20,width = 50,height = 50)
btn2 = tkinter.button(root,text = '香蕉',bg = 'white')
btn2.place(x = 90,y = 20,width = 50,height = 50)
btn3 = tkinter.button(root,text = '苹果',bg = 'white')
btn3.place(x = 160,y = 20,width = 50,height = 50)
btn4 = tkinter.button(root,text = '西瓜',bg = 'white')
btn4.place(x = 230,y = 20,width = 50,height = 50)
btn5 = tkinter.button(root,text = '鸭梨',bg = 'white')
btn5.place(x = 230,y = 90,width = 50,height = 50)
btn6 = tkinter.button(root,text = '榴莲',bg = 'white')
btn6.place(x = 230,y = 160,width = 50,height = 50)
btn7 = tkinter.button(root,text = '柚子',bg = 'white')
btn7.place(x = 230,y = 230,width = 50,height = 50)
btn8 = tkinter.button(root,text = '葡萄',bg = 'white')
btn8.place(x = 160,y = 230,width = 50,height = 50)
btn9 = tkinter.button(root,text = '草莓',bg = 'white')
btn9.place(x = 90,y = 230,width = 50,height = 50)
btn10 = tkinter.button(root,text = '芒果',bg = 'white')
btn10.place(x = 20,y = 230,width = 50,height = 50)
btn11 = tkinter.button(root,text = '荔枝',bg = 'white')
btn11.place(x = 20,y = 160,width = 50,height = 50)
btn12 = tkinter.button(root,text = '甘蔗',bg = 'white')
btn12.place(x = 20,y = 90,width = 50,height = 50)
#将所有选项组成列表
fruitlists = [btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btn10,btn11,btn12]
#是否开启循环的标志
isloop = false
#是否停止标志
stopsign=false #是否接收到 stop信号
#存储停止id------用于进行stop后的重新启动
stopid=none
def round():
global isloop
global stopid
#判断是否开始循环
if isloop == true:
return
i=1
if isinstance(stopid,int):
i=stopid
while true:
#延时操作
time.sleep(0.2)
#将所有的组件背景变为白色
for x in fruitlists:
x['bg'] = 'white'
#将当前数值对应的组件变色
fruitlists[i]['bg'] = 'red'
#变量+1
i += 1
print('当前i为',i) #当前i,用来追踪当前位置
#如果i大于最大索引直接归零
if i >= len(fruitlists):
i = 0
if stopsign == true:#当停止标志 为真时
isloop=false
stopid =i#赋值stopid
break
def stop1():
global stopsign
if stopsign ==true:#当多接收stop1()函数时 ,直接跳过
return
stopsign=true
#建立一个新线程的函数
def newtask():
global isloop
global stopsign
#建立线程
stopsign=false
#print(stopsign) #打印 点击开始时的stopsign
t = threading.thread(target = round)
#开启线程运行
t.start()
# 设置循环开始标志
isloop = true
#开始按钮
btn_start = tkinter.button(root,text = 'start',command = newtask)
btn_start.place(x = 90,y = 125,width = 50,height = 50)
#停止按钮
btn_stop = tkinter.button(root,text = 'stop',command=stop1)
btn_stop.place(x = 160,y = 125,width = 50,height = 50)
root.mainloop()
效果图:
就是上图这个界面了:
start 开始按钮
stop 结束按钮
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持萬仟网。
如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!
python 转盘 圆形_python实现大转盘抽奖效果相关推荐
- python转盘抽奖_python实现大转盘抽奖效果
本文实例为大家分享了python实现大转盘抽奖的具体代码,供大家参考,具体内容如下 选择转盘中的某一个方框,来进行抽奖 import tkinter #导入线程模块 import threading ...
- php大转盘程序,jQuery幸运大转盘_jQuery+PHP抽奖程序(下)
上一篇讲解了幸运大转盘前端,而本文继续讲下半部分:PHP控制抽奖几率并最终实现转盘抽奖. 下载资源 下载积分: 95 积分 PHP 首先,在ajax.php中创建一个奖项对应角度和中奖几率二维数组: ...
- jquery抽奖转盘java_jquery实现九宫格大转盘抽奖
下面我们来分享一个九宫格抽奖特效 特效说明: 一款jQuery九宫格大转盘抽奖代码网页特效,点击抽奖按钮开始随机抽奖选择奖品,可设置起点位置.奖品数量.转动次数.中奖位置参数.(兼容测试:IE7及以上 ...
- php转盘中奖率,PHP大转盘中奖概率算法实例_PHP
本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考.具体如下: 大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对各位有所帮助. ...
- python生成圆形_python生成圆形图片的方法
本文实例为大家分享了python生成圆形图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ __author__= 'Du' ...
- python长整数相乘_python实现大整数相乘---格子乘法
以前做ACM的时候,许多人都通过 BigInteger 来实现大数乘法,让我记忆犹新的事2012年的辽宁省赛在大连大学,第一道水题就是大整数乘法,那时还不会java. 大数乘法的实现是基于印度的格子乘 ...
- css3动大转盘,css3的animation大转盘写法
alternate 动画会在厅数次数(1,3,5等等)正常播放,面在偶数次数(2,4,4)向后播放html> Document *{ padding: 0; margin: 0; } #herh ...
- python格式化文本_Python格式化大文本
用python格式化一大块文本的最佳方法是什么?我不是要格式化输出,而是为了可读性.我一直在尝试跟踪guidelines for python layout,但我看不到任何关于如何格式化一大块文本的注 ...
- python sqlite并发处理_python sqlite大数据 处理
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- 金融数据python分析实例_Python金融大数据分析-蒙特卡洛仿真
1.简单的例子 了解一点金融工程的对这个公式都不会太陌生,是用现在股价预测T时间股价的公式,其背后是股价符合几何布朗运动,也就是大名鼎鼎的BSM期权定价模型的基础. 我们假设现在一个股票的价值是100 ...
最新文章
- 共享一个从字符串转 Lambda 表达式的类(4)
- dbeaver导出表结构和数据_python中的哈希表数据结构
- Dynamics CRM 同一实体多个Form显示不同的Ribbon按钮
- DELPHI 通過窗口句柄或窗口标题得到进程句柄
- c语言链表p-%3enext,课程设计报告.c语言程序设计.pdf
- 四参数拟合曲线_每周放送|曲线拟合
- html文件的获取,获取html文件Java
- java 日期 yyyy_java日期中YYYY与yyyy的区别
- 基于WEB的自行车租赁管理系统设计与实现
- 大地经纬度坐标系与Web墨卡托坐标系的转换
- Sevlet相关 摘抄笔记
- H5 页面36种漂亮的CSS3网页按钮Button样式
- 4月书讯 | 一大波好书来袭,最美华章四月天
- 今日分享——《青春》(李大钊)
- 性格孤僻的原因和改善方法
- 大数据能否带来风控革命
- 丹尼尔·平克:未来属于“高感性族群”
- B - Pond Cascade Gym - 101670B
- BZOJ 1038 瞭望塔(半平面交)
- 计算机信息技术课教案,信息技术课的教案