本文实例为大家分享了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实现大转盘抽奖效果相关推荐

  1. python转盘抽奖_python实现大转盘抽奖效果

    本文实例为大家分享了python实现大转盘抽奖的具体代码,供大家参考,具体内容如下 选择转盘中的某一个方框,来进行抽奖 import tkinter #导入线程模块 import threading ...

  2. php大转盘程序,jQuery幸运大转盘_jQuery+PHP抽奖程序(下)

    上一篇讲解了幸运大转盘前端,而本文继续讲下半部分:PHP控制抽奖几率并最终实现转盘抽奖. 下载资源 下载积分: 95 积分 PHP 首先,在ajax.php中创建一个奖项对应角度和中奖几率二维数组: ...

  3. jquery抽奖转盘java_jquery实现九宫格大转盘抽奖

    下面我们来分享一个九宫格抽奖特效 特效说明: 一款jQuery九宫格大转盘抽奖代码网页特效,点击抽奖按钮开始随机抽奖选择奖品,可设置起点位置.奖品数量.转动次数.中奖位置参数.(兼容测试:IE7及以上 ...

  4. php转盘中奖率,PHP大转盘中奖概率算法实例_PHP

    本文实例讲述了PHP大转盘中奖概率算法的实现方法,分享给大家供大家参考.具体如下: 大转盘是最近很多线上网动中一个比较有意思的东西了,下面我们就来看看这个大转盘中奖概率算法与例子,希望对各位有所帮助. ...

  5. python生成圆形_python生成圆形图片的方法

    本文实例为大家分享了python生成圆形图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ __author__= 'Du' ...

  6. python长整数相乘_python实现大整数相乘---格子乘法

    以前做ACM的时候,许多人都通过 BigInteger 来实现大数乘法,让我记忆犹新的事2012年的辽宁省赛在大连大学,第一道水题就是大整数乘法,那时还不会java. 大数乘法的实现是基于印度的格子乘 ...

  7. css3动大转盘,css3的animation大转盘写法

    alternate 动画会在厅数次数(1,3,5等等)正常播放,面在偶数次数(2,4,4)向后播放html> Document *{ padding: 0; margin: 0; } #herh ...

  8. python格式化文本_Python格式化大文本

    用python格式化一大块文本的最佳方法是什么?我不是要格式化输出,而是为了可读性.我一直在尝试跟踪guidelines for python layout,但我看不到任何关于如何格式化一大块文本的注 ...

  9. python sqlite并发处理_python sqlite大数据 处理

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  10. 金融数据python分析实例_Python金融大数据分析-蒙特卡洛仿真

    1.简单的例子 了解一点金融工程的对这个公式都不会太陌生,是用现在股价预测T时间股价的公式,其背后是股价符合几何布朗运动,也就是大名鼎鼎的BSM期权定价模型的基础. 我们假设现在一个股票的价值是100 ...

最新文章

  1. 共享一个从字符串转 Lambda 表达式的类(4)
  2. dbeaver导出表结构和数据_python中的哈希表数据结构
  3. Dynamics CRM 同一实体多个Form显示不同的Ribbon按钮
  4. DELPHI 通過窗口句柄或窗口标题得到进程句柄
  5. c语言链表p-%3enext,课程设计报告.c语言程序设计.pdf
  6. 四参数拟合曲线_每周放送|曲线拟合
  7. html文件的获取,获取html文件Java
  8. java 日期 yyyy_java日期中YYYY与yyyy的区别
  9. 基于WEB的自行车租赁管理系统设计与实现
  10. 大地经纬度坐标系与Web墨卡托坐标系的转换
  11. Sevlet相关 摘抄笔记
  12. H5 页面36种漂亮的CSS3网页按钮Button样式
  13. 4月书讯 | 一大波好书来袭,最美华章四月天
  14. 今日分享——《青春》(李大钊)
  15. 性格孤僻的原因和改善方法
  16. 大数据能否带来风控革命
  17. 丹尼尔·平克:未来属于“高感性族群”
  18. B - Pond Cascade Gym - 101670B
  19. BZOJ 1038 瞭望塔(半平面交)
  20. 计算机信息技术课教案,信息技术课的教案

热门文章

  1. 如何将XML转换为HL7
  2. 电脑重置,win10怎么重置此电脑 重置电脑的方法和后果
  3. html+css+js(未完待续)
  4. Layim 自定义聊天界面
  5. Qt使用资源管理器打开指定本地文件夹
  6. win7时间运行服务器,win7系统无法启动Windows Time服务怎么处理【图文教程】
  7. 一个生信人的自白:从生物转生信,我的学习与工作经历
  8. 没有人脉如何靠内推进大厂?内推真的那么神吗?带你搞透内推到底是什么
  9. C++ 实现小写金额转化为大写金额
  10. window平台编译draco库