开学了,如何用python开发个上课点名小程序~

开学了,如何用python开发个上课点名小程序~用一个小程序掌握全班核心科技 pythongui 项目 点名小程序 软锰矿

嗨害大家好鸭!我是小熊猫❤

今天在地铁上刷到了一个这样的短视频,

我寻思是不是也可以写一个类似的上课点名程序,

想法经不起等待,说写就写~

请添加图片描述


一.准备工作

1.Tkinter

Tkinter 是 python 内置的 TK GUI 工具集。

TK 是 Tcl 语言的原生 GUI 库。

作为 python 的图形设计工具,它所使用的 Tcl 语言环境已经完全嵌入到了 python 解释器中。

我们使用Tkinter开发GUI界面。

2.PIL

PIL库支持图像储存、显示和处理,他能够处理几乎所有图片格式,可以完成对图像的缩放、剪裁、叠加以及向图像添加线条、图像和文字等操作。

pip install pillow 

二.预览

1.启动

请添加图片描述

双击打开后,进入软件主界面,所有功能一目了然。

程序会自动识别软件目录下的names.txt,将里面的名字导入。

2.开始点名-顺序点名

请添加图片描述
选择顺序点名后,开始,屏幕上就开始滚动出现人名,

人名出现的概率是相同的,停止,人名就停止滚动,点名结束。

3.开始点名-随机点名

请添加图片描述

随机点名,程序就会进行随机点名,人名出现的概率是随机的。

4.手动加载人名单

请添加图片描述

可以自己手动选择人名单,前提是人名单格式为txt,且每个名字占一行。

5.开始点名-顺序点名-Pyqt5版本

请添加图片描述

用Pyqt5也写了一个版本,实现逻辑与TK版本相同,

界面可能更好看了一些,但是文件大了许多,

大家可以在文末名片自取


三.思路

1.整体实现思路

请添加图片描述

2.点名实现思路

请添加图片描述

四.源代码

point_names-GUI.py(主程序GUI)

import random import re import time import threading from tkinter import * from tkinter import ttk from 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="顺序点名",variable=self.radioBtn_var, value=1) self.radioBtn_random=ttk.Radiobutton(self.lf1,text="随机点名",variable=self.radioBtn_var, value=2) self.label_show_name_num=ttk.Label(self.root,font=('Arial', 20),foreground = '#FF7F50') paned = PanedWindow(self.root) self.img = imgs img_=b'iVBORw0KGgoAAAANSUhEUgAAALQAAAB4CAIAAADUhU+qAAAACXBIWXMAAAsTAAALEwEAmpwYAAAgAElEQVR4nO196XNbx5Vvd9+LfSU2EgD3fRNJbZRkyVJseY9sP7scOy+ZTCqpVKXm8/wp+TA1X2amJjWZSXksy1Ik27IsWXIsRpK1kCIpLgBJkAAXrMQO3K3fh0O0rkBKkaONzvOJSwGBu3b/+uznNKaUoh/oyZB6bDHG2+RSD0/807mNmth7ql/ymbz8EyL2LvdbeH/bC245bk+UHgQOSik8x8O85P0eHb5XX4pSSghRX7Pq+nAwxhi+3zwWlFJFURBC7Dr3G68tv3/0UYYnZC91P8IYw3NSSjmO23zTv/okbPTYaz7NlXMXHJtf+AHTw05hn9kxVaewi9AKVX2z+Sz1uQ+4KaVUlmVUGTIGvs2j/52e/6/SZlg/4PqKokiSVPWQD39TgFfVuD1tzgGvUbWg2dPcj7b8VT09DAQIIVmWy+VyqVSSZVl9I/bmWq1Wr9drNJrNs7uZtbAVqYbFlkey5atmXewF1S/7kC+oZlqMC255uqIoq6urgUDAYrF0dnaaTKa/OqRVd69aP9/p9Eene8CBNjE6NUNDD4FZOB5YKLsmQkiW5ZWVlatXrwaDQUIIx3HqSVUURRAEo9F44MCBoaEhQgicxR4JnoHN8fr6+urt1udzqdWq2WUipJEntCRVFEUczn85IkAWthj8Fux54NY2w0Gu12u06ne/DbMSjALWRZhj8VRaliCer5m5mZ+dd//Ve/3/9P//RPzc3NVQdseRYDgSzLmUwmm80aDAan0wnDAndnQ/RXRdujEM+eEu4hy3I4HI7H436/v6amplQqlUolk8lEKZ2enl5eXsYYGwwGs9lss9lqamqsVqtWqyWEwKip51uN
今天的文章 开学了,如何用python开发个上课点名小程序~分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-03 17:57
下一篇 2025-01-03 17:51

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/100433.html