python抽奖程序_Python编写抽奖式随机提问程序
本文主要思路:使用tkinter编写界面,使用3个Label组件和多线程技术实现学生名单的滚动显示。
import tkinter
import tkinter.messagebox
import random
import threading
import itertools
import time
root = tkinter.Tk()
#窗口标题
root.title('随机提问')
#窗口初始大小和位置
root.geometry('260x180+400+300')
#不允许改变窗口大小
root.resizable(False, False)
#关闭程序时执行的函数代码,停止滚动显示学生名单
def closeWindow():
root.flag = False
time.sleep(0.1)
root.destroy()
root.protocol('WM_DELETE_WINDOW', closeWindow)
# 模拟学生名单,可以加上数据库访问接口,从数据库中读取学生名单
students = ['张三', '李四', '王五', '赵六', '周七', '钱八']
# 变量,用来控制是否滚动显示学生名单
root.flag = False
def switch():
root.flag = True
while root.flag:
# 随机打乱学生名单
t = students[:]
random.shuffle(t)
t = itertools.cycle(t)
# 滚动显示
lbFirst['text'] = lbSecond['text']
lbSecond['text'] = lbThird['text']
lbThird['text'] = next(t)
# 数字可以修改,控制滚动速度
time.sleep(0.1)
def btnStartClick():
# 每次单击“开始”按钮启动新线程
t = threading.Thread(target=switch)
t.start()
btnStart = tkinter.Button(root, text='开始', command=btnStartClick)
btnStart.place(x=30, y=10, width=80, height=20)
def btnStopClick():
# 单击“停”按钮结束滚动显示
root.flag = False
time.sleep(0.3)
tkinter.messagebox.showinfo('恭喜', '本次中奖:'+lbSecond['text'])
btnStop = tkinter.Button(root, text='停', command=btnStopClick)
btnStop.place(x=150, y=10, width=80, height=20)
# 用来滚动显示学生名单的3个Label组件
# 可以根据需要进行添加,但要修改上面的线程函数代码
lbFirst = tkinter.Label(root, text='')
lbFirst.place(x=80, y=60, width=100, height=20)
# 红色Label组件,表示中奖名单
lbSecond = tkinter.Label(root, text='')
lbSecond['fg'] = 'red'
lbSecond.place(x=80, y=90, width=100, height=20)
lbThird = tkinter.Label(root, text='')
lbThird.place(x=80, y=120, width=100, height=20)
# 启动tkinter主程序
root.mainloop()
运行视频:视频内容
python抽奖程序_Python编写抽奖式随机提问程序相关推荐
- Python编写抽奖式随机提问程序
本文主要思路:使用tkinter编写界面,使用3个Label组件和多线程技术实现学生名单的滚动显示. import tkinter import tkinter.messagebox import r ...
- python语言 表白程序_python编写的GUI表白小程序
# Tkinter是Python的标准GUI(图形用户界面)库 ,Python使用Tkinter可以快速的创建GUI应用程序 from tkinter import * from tkinter im ...
- python在线翻译小程序_Python爬虫学习之翻译小程序
本次博客分享的内容为基于有道在线翻译实现一个实时翻译小程序,本次任务是参考小甲鱼的书<零基础入门学习Python>完成的,书中代码对于当前的有道词典并不适用,使用后无法实现翻译功能,在网上 ...
- python表白神器_Python编写表白神器!向你的女神告白吧!!
马上就是七夕情人节了,送什么给你女神呢.鲜花什么的还不够!在写一个告白程序,向女神告白!让她看看你的爱意!哈哈哈哈! 程序和代码下载地址:点击下载 Python简介 Python是纯粹的自由软件, 源 ...
- Java制作一个盒子程序_编写一个简单的Java程序,模拟计算器的功能。
提问:编写一个简单的Java程序,模拟计算器的功能. 网友回答: 程序参考: import java.awt.*; import java.awt.event.ActionEvent; import ...
- python七夕快乐_python编写简单抽奖系统
python编写简单抽奖系统 #!/usr/bin/env python #coding=utf-8 from Tkinter import * import time import random c ...
- python 抽奖器_python编写实现抽奖器
本文实例为大家分享了python编写实现抽奖器的具体代码,供大家参考,具体内容如下 # coding=utf-8 import sys import os import openpyxl if sys ...
- python抽奖代码_python编写实现抽奖器代码示例
本篇文章小编给大家分享一下python编写实现抽奖器代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. # coding=utf-8 import ...
- python中用函数编写程序_python编写程序,在程序中定义一个函数,计算1+1/2+1/3+1/4+……+1/n...
python语言编写的程序需要运行库.Python(英语发音:/?pa?θ?n/),是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年发明,第一个公开发行版发行于 ...
最新文章
- 删除input框type=number时,默认的上下小箭头
- 框架中建立浮动框架_建立代理,而不是框架
- 链表题目--1 删除链表中所有等于val的值
- 从委托而起(二)认识委托
- 【CodeForces - 1038B 】Non-Coprime Partition (构造,数组特征)
- 【Codeforces - 632C】The Smallest String Concatenation (对string巧妙排序)
- 大一matlab知识整理,MATLAB基础课程 第二章 MATLAB绘图知识(5)
- Python循环嵌套应用案例一则:判断丑数
- java 标准_Java标准注解
- asp.net数据绑定之Eval和Bind 和等区别
- spark指定类型+列名 将RDD转化成DataFrame
- Learn ZYNQ (7)
- 【实习周记】ArrayMap源码分析
- Optimizing graphics rendering in Unity games
- WPS-Word中换行符、回车符删除不掉怎么办?某一个空行删不掉
- 《关键信息基础设施安全保护条例》来了!完善网络安全体系 华云数据构筑云上安全屏障
- [spring boot] 我的图床我做主,自己动手写一个shareX图床
- 老司机都懂的x件事,一般人我不告诉他
- 【前端html页面数据导出为pdf文件】
- 【亲测有效】解决 Ubuntu 虚拟机无法共享文件夹的问题
热门文章
- C# 值类型 引用类型 作为参数传递区别
- 面向对象之信息传递为何是调用方法
- PAT乙级(1030 完美数列)
- 字符串在Java中_字符和字符串在Java中的旅程
- git进入项目目录 windows_Windows下Git 怎么整个文件夹目录上传到代码仓库(不论GitHub、GitLab、Gitee、DevCloud)...
- 怎么测试服务器端口是否对外开放_12个经典性能测试人员面试题
- 【连载】如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(2)
- 单图说TDSQL;OceanBase 2.2 事务引擎核心功能;穿云箭2.0版发布;RMAN DUPLICATE配置19C DG;外键上有无索引的影响;MySQL8.0 索引新功能;GaussDB C
- 执行了rm-f,除了跑路,如何恢复?
- 农业银行数据库最佳实践和发展规划