选择顺序点名后,点击开始,屏幕上就开始滚动出现人名,人名出现的概率是相同的,点击停止,人名就停止滚动,点名结束。
3.开始点名-随机点名
点击随机点名,程序就会进行随机点名,人名出现的概率是随机的。
4.手动加载人名单
可以自己手动选择人名单,前提是人名单格式为txt,且每个名字占一行。
5.开始点名-顺序点名-Pyqt5版本
用Pyqt5也写了一个版本,实现逻辑与TK版本相同,界面可能更好看了一些,但是文件大了许多,大家可以在后面总结部分自取。
三.思路
1.整体实现思路
2.点名实现思路
四.源代码
Python学习交流Q群:906715085####
import random
import re
import time
import threading
from tkinter import \*
from tkinter
import ttkfrom base64 import b64decode
from PIL import Image,ImageTk
from tkinter import messagebox
from tkinter.filedialog import
askopenfilename
""""2021-11-10点名/抽奖程序
主要亮点:
1.两种模式:
①顺序点名
②随机点名
2.自动识别人名单
3.支持手动导入人名单
4.人名单导入校验
5.人名显示位置自动矫正
6.最多显示五个大字"""
imgs=['./point\_name.png']
class APP:
def \_\_init\_\_(self):
self.root = Tk()
self.running_flag=False #开始标志
self.time_span=0.05 #名字显示间隔
self.root.title('Point\_name-V1.0')
width = 680
height = 350
left = (self.root.winfo_screenwidth() - width) /
2
top = (self.root.winfo_screenheight() - height) /
2
self.root.geometry("%dx%d+%d+%d"
% (width, height, left, top))
self.root.resizable(0,0)
self.create_widget()
self.set_widget()
self.place_widget()
self.root.mainloop()
def create\_widget(self):
self.label_show_name_var=StringVar() self.label_show_name=ttk.Label
(self.root,textvariable=self.label_show_name_var,font=
('Arial', 100,"bold"),foreground = '#1E90FF')
self.btn_start=ttk.Button
(self.root,text="开始",)
self.btn_load_names=ttk.Button
(self.root,text="手动加载人名单",)
self.lf1=ttk.LabelFrame
(self.root,text="点名方式")
self.radioBtn_var=IntVar()
self.radioBtn_var.set(1)
self.radioBtn_sequence=ttk.Radiobutton
(self.lf1,text="顺序点
现在能在网上找到很多很多的学习资源,有免费的也有收费的,当我拿到1套比较全的学习资源之前,我并没着急去看第1节,我而是去审视这套资源是否值得学习,有时候也会去问一些学长的意见,如果可以之后,我会对这套学习资源做1个学习计划,我的学习计划主要包括规划图和学习进度表。
分享给大家这份我薅到的免费视频资料,质量还不错,大家可以跟着学习
![](https://img-blog.csdnimg.cn/img_convert/21b2604bd33c4b6713f686ddd3fe5aff.png)
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**