# RandomCallTool **Repository Path**: ElofHew/RandomCallTool ## Basic Information - **Project Name**: RandomCallTool - **Description**: 一个基于Python3 + Tkinter的随机抽取工具 - **Primary Language**: Python - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-11 - **Last Updated**: 2026-09-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 随机抽取工具 ![RandomCallTool](./icon/rctool.png) [官方网站](https://rct.danevan.top/) | [GitHub](https://github.com/ElofHew/RandomCallTool) | [Gitee](https://gitee.com/ElofHew/RandomCallTool)
## 简介 随机抽取工具(RandomCallTool)是一个基于 Python3 + tkinter 的桌面应用程序,拥有 **随机抽组**、**随机抽人**、**随机点名** 三大功能。 主程序内置三档可切换的抽样模式(基本抽样/智能抽样/高级抽样),并配套独立的 **更新程序** 与 **卸载工具**。 >[!NOTE] > 该项目优先支持 Windows 操作系统环境。对于 Linux 和 macOS 可能支持不佳。 >[!TIP] > 你可以阅读 [官网文档](https://rct.danevan.top/docs/) 获取更详细的使用说明和最新更新日志。 ## 主程序 ### 主要功能 1. **随机抽组**:支持从数字(1-26)或字母(A-Z)中随机抽取指定数量的组。 2. **随机抽人**:支持从样本文件(`.rcp` / `.txt` / `.csv`)或样本库中随机抽取指定数量的人名。 3. **随机点名**:跑马灯式点名,名字快速跳动后点击「停止」即可定格;支持自动点名(随机速率、到时自动停止)与点名优化(点名前打乱名单、放回式/不放回式、剩余人数重置限度)。 4. **三档抽样模式**: - **基本抽样**(模式 0):`random.sample` 简单随机抽取。 - **智能抽样**(模式 1):追踪近期抽取历史,自动降低刚被选中项的权重,也可切换为固定权重。 - **高级抽样**(模式 2):完整的高级抽取配置,涵盖放回/不放回、抽取前打乱、预抽取平衡、多次取最值、随机定权重、递进式抽取、自定义权重等。 5. **样本库管理**:可将常用名单导入样本库(上限 50 个),支持重命名、删除以及导出为 `RCP` / `TXT`。 6. **整合式操作界面**:抽人与抽组在同一选项卡内自由切换,交互流畅。 7. **历史记录面板**:右侧面板展示抽取历史,支持单条保存和批量保存全部历史。 8. **配置管理**:多选项卡配置窗口(基本设置、抽样设置、样本管理、更新),支持自动保存结果、保存路径、自动加载样本/点名名单等选项。 9. **快捷键操作**:丰富的键盘快捷键支持,提升操作效率。 10. **详细日志记录**:按日期滚动记录程序运行状态,支持查看和清理日志文件。 ## 更新程序 项目附带独立的更新程序 `update.exe`,可独立运行,也可由主程序调用: - **双更新源**:可在 GitHub / Gitee 之间切换,中国大陆建议使用 Gitee。 - **测试版更新**:可勾选「接收测试版更新」,预览版发布时同样会检测到。 - **多种下载方式**:支持直接下载安装包自动更新、前往官网下载,以及夸克网盘 / 蓝奏云等备用网盘。 ## 卸载工具 项目附带独立的卸载工具 `remove.exe`,提供三种卸载模式: - **保留数据卸载**:仅移除程序文件,保留配置、日志和结果数据。 - **重置配置**:仅删除数据配置和日志,保留程序文件。 - **完全卸载**:移除程序文件及所有用户数据。 除程序目录外,卸载时还会一并清理「开始菜单」中的程序组文件夹与桌面快捷方式。 ## 注意事项 >[!IMPORTANT] >1. 程序支持三大平台(Windows / Linux / macOS),但仅提供 Windows 编译版本。 >2. 从 **GitHub** / **Gitee** / **网盘链接** 下载最新版本手动安装更新时,请先关闭当前运行的**随机抽取工具套件**内的所有程序(主程序、更新程序等),再运行安装包,否则会因为占用问题安装失败,并影响到程序完整性,造成程序运行出错或数据损坏等严重问题。 >3. 自 **V2.5.2** 起,配套的「名单编码工具」已从套件中移除。如需 `.rcp` 名单文件,可直接导入 `.txt` / `.csv`,或自行将明文名单进行 Base64 编码后另存为 `.rcp`。 ## 截图(来自 2.3 版本,实际界面可能有所不同)
![主界面](./img/2.3.1.png) 随机抽取工具主界面(主页选项卡) ![随机抽组](./img/2.3.2.png) 随机抽组功能 ![随机抽人](./img/2.3.3.png) 随机抽人功能 ![配置管理](./img/2.3.4.png) 多选项卡配置界面
## 编译与运行(Windows) 1. 确保安装了 **Python 3.6 及以上** 版本环境(建议使用 3.8 及以上版本,推荐 3.12)。 2. 下载或 `git clone` 项目到本地。 3. 打开命令行或终端,进入项目目录。 4. 运行 `pip install pyinstaller` 安装 PyInstaller。 5. 运行根目录下的构建脚本,生成可执行文件:`build.bat`(依赖包外置于 `_internal` 目录)。 6. (可选)使用 **7z SFX Builder** 搭配 `SFX_config.txt`(需自行修改部分目录)打包自解压安装程序。 >[!NOTE] > 7z SFX Builder 可从 [蓝奏云网盘](https://lzofevan.lanzn.com/ipqhQ3p9nk2d) 下载(密码:8kmj)。 >[!TIP] > 或者可以直接下载 Release 版本并直接运行。 ## 仓库 - **GitHub**:[https://github.com/ElofHew/RandomCallTool](https://github.com/ElofHew/RandomCallTool) - **Gitee**:[https://gitee.com/ElofHew/RandomCallTool](https://gitee.com/ElofHew/RandomCallTool) >[!NOTE] > ~~注:本项目约50%为AI代码,开发者在尝试 Vibe Coding 后发现这真是个好东西。但是出于代码质量,开发者在AI生成后会人工审查并修改,故不能完全视作AIGC项目,。(应该不能……)(反正有些文档什么的我直接让AI生成应该不过分吧……)~~ > > 好了孩子们,我承认我貌似对AI Coding有点上瘾了,。,。 --- © 2025~2026 ElofHew