作者热门文章
- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python实现大转盘抽奖效果由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了python实现大转盘抽奖的具体代码,供大家参考,具体内容如下 。
选择转盘中的某一个方框,来进行抽奖 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
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 结束按钮 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/userez/article/details/78943621 。
最后此篇关于python实现大转盘抽奖效果的文章就讲到这里了,如果你想了解更多关于python实现大转盘抽奖效果的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
【1】引言(完整代码在最后面) 在鸿蒙NEXT系统中,开发一个有趣且实用的转盘应用不仅可以提升用户体验,还能展示鸿蒙系统的强大功能。本文将详细介绍如何使用鸿蒙NEXT系统开发一个
我是编程新手,我想对CollectionView做出圆形效果,我有以下几点: override func prepare() { super.prepare() let center
我是一名优秀的程序员,十分优秀!