小伙伴关心的问题:课堂点名小程序有哪些,课堂点名小程序叫什么,本文通过数据整理汇集了课堂点名小程序有哪些,课堂点名小程序叫什么相关信息,下面一起看看。

课堂点名小程序有哪些,课堂点名小程序叫什么

相关文件

有很多资源可以领取的哟!!

导语

刷抖音的时候发现一个老师在用的课堂点名系统。用Python实现了一下同款,导入学生姓名,测试了一下完美运行。

原理介绍

使用的时候准备好学生姓名的文件,使用导入数据的按钮直接导入就可以开始点名了。新建一个文本文档,将姓名设置设置好,姓名文件示例如下。

使用系统库或者第三方库都比较常规,这里就不一一介绍了。

from PyQt5.QtWidgets import * from PyQt5.QtGui import * from PyQt5.QtCore import * from qdarkstyle import load_stylesheet_pyqt5 import os import sys import time import random

为了和UI界面的主线程分离开来,我们采用的还是QThread多线程的方式来实现随机点名模块的。这样做的目的是为了防止主线程阻塞,下面是子线程的实现部分。

class WorkThread(QThread): trigger = pyqtSignal(str) finished = pyqtSignal(bool) def __init__(self, parent=None): super(WorkThread, self).__init__(parent) self.parent = parent self.working = True def __del__(self): self.working = False self.wait() def run(self): data_list = self.parent.data_list if len(data_list) >= 1: ran = random.randint(20, 40) print(遍历次数:, ran) for a in range(ran): name = random.choice(data_list) self.trigger.emit(name) print(name) time.sleep(0.6) self.finished.emit(True) else: self.trigger.emit(无数据)

UI 界面的实现部分也比较常规,下面主要实现部分的代码块。

class ClassCollSystem(QWidget): def __init__(self): super(ClassCollSystem, self).__init__() self.data_list = [] self.init_ui() def init_ui(self): 子线程调用 self.thread_ = WorkThread(self) self.thread_.trigger.connect(self.set_namPython 集中营]) self.setWindowIcon(QIcon(课堂点名.ico)) self.setFixedSize(500, 350) 姓名信息布局 vbox_name = QVBoxLayout() self.current_name = QLabel() self.current_name.setText(随机点名啦) self.current_name.setStyleSheet( font-size:50px;text-align:center;font-weight:bold;font-family:"Microsoft JhengHei";) vbox_name.addWidget(self.current_name)

效果展示

最后,将主页面加入主体循环直接运行可以了。

完整源代码获取方式,公众号内回复"课堂点名系统",直接下载就可以了。

欢迎大家的关注和支持哟

更多课堂点名小程序有哪些,课堂点名小程序叫什么相关信息请关注本站,本文仅仅做为展示!