一个基于 PySide6 的点名工具,支持随机点名和重置功能,适用于课堂或其他需要随机选择的场景。
deepwiki:https://deepwiki.com/ZH1995/RollCallEasy/1-overview
- 随机点名:从指定班级中随机选择一名学生。
- 班级管理:支持从配置文件中加载班级和学生信息。
- 重置功能:清空已点名的学生列表,重新开始点名。
RollCallEasy/
├── app.py # 主程序入口
├── components/ # 界面组件
│ ├── combobox.py # 班级下拉框组件
│ ├── grid_layout.py # 网格布局组件
│ └── ... # 其他组件
├── service/ # 服务逻辑
│ └── roll_cal.py # 点名服务
├── spec/ # PyInstaller 打包配置
│ ├── mac/ # macOS 打包配置
│ │ └── config.json # 配置文件
│ └── windows/ # Windows 打包配置
├── requirements.txt # 项目依赖
└── README.md
- Python 3.12 或更高版本
- pip 包管理工具
在项目根目录下运行以下命令安装依赖:
pip install -r requirements.txt注意:由于国内网络的原因,安装PySide6可能需要执行如下命令:
python3 -m pip install PySide6 --trusted-host=pypi.python.org --trusted-host=pypi.org --trusted-host=files.pythonhosted.org在项目根目录下运行以下命令启动程序:
python app.py配置文件 config.json 用于定义班级和学生信息,格式如下:
{
"class_list": {
"班级名称1": ["学生1", "学生2", "学生3"],
"班级名称2": ["学生4", "学生5", "学生6"]
}
}在打包前,将 config.json 文件拷贝到 spec/mac 目录下,然后运行以下命令:
pyinstaller --onefile --windowed --name=roll_call_easy --add-data="config.json:." --hidden-import=PySide6 --hidden-import=PySide6.QtWidgets --hidden-import=PySide6.QtCore --hidden-import=PySide6.QtGui --distpath=./output/mac --workpath=./build/mac --specpath=./spec/mac app.py在打包前,将 config.json 文件拷贝到 spec/windows 目录下,然后运行以下命令:
pyinstaller --onefile --windowed --name=roll_call_easy --add-data="config.json:." --hidden-import=PySide6 --hidden-import=PySide6.QtWidgets --hidden-import=PySide6.QtCore --hidden-import=PySide6.QtGui --distpath=./output/windows --workpath=./build/windows --specpath=./spec/windows app.py- 启动程序后,选择班级。
- 点击“开始点名”按钮,随机选择一名学生。
- 点击“重置”按钮,清空已点名的学生列表。
项目依赖如下:
- PySide6==6.5.2
欢迎提交 Issue 或 Pull Request 来改进本项目。
本项目基于 MIT 许可证开源。