AI 摘要

最新版本为5.4,新增加了多名单功能,但还存在许多不足。但是需要注意的是,由于程序使用了提权代码,可能会被杀毒软件误删,请查看源码以解决疑问。 如果想下载最新版5.4,可以点击下载链接,并记住下载密码。更新时也需要备份名单,然后卸载旧版本重新安装,避免出现错误。 此外,还有一些旧版本的下载链接供参考,但需要注意的是,4.6版本后暂不支持32位系统哦!如果是32位系统的小伙伴,可以下载4.3版本。

5.4 测试版发布说明

2023.9.10
1.新增多名单功能
已知问题
1.首次打开可能报错(已修复)
2.首次打开会有一个空的选择名单界面,关闭即可、
3.每次打开都会出现选择名单的界面(即使只有一个名单)
其中2和3由于 self.close代码不起作用而无法修复,正在排查问题,欢迎查看源码协助我们修复

https://yish.lanzouw.com/iGTPM17xdceb密码:3b7i

5.3版本发布说明

2023.6.25

1.优化弹窗逻辑
2.优化高DPi的ui布局
3.新增背景音乐文件按钮

为了统计名单,程序使用了提权代码,可能被杀毒软件误杀,如有疑问请查看源码

最新版下载地址密码:cmti

5.3下载链接2(安装包)

更新时请备份名单,然后卸载旧版本重新安装,否则可能出现错误

下载通用版4.9(最后的单文件版)

下载4.6(最后的32位版本)


提示:4.8起更换了打包方式,改成安装包的形式,因此你可以在安装4.8后删除4.7,也可以安装到u盘里面便携使用

4.6版本后暂不支持32位系统!!!

旧版本支持32位系统https://github.com/Yish1/ktdmq/releases/download/4.3/4.3.exe

5.2版本发布说明

2023.6.23

1.新增名单中奖统计功能,并支持导出为图表或文本

2.优化背景音乐体验

3.修复大量BUG

4.优化弹窗代码

5.一定程度上优化跨平台(Linux系统)的支持

linux请使用5.1获得完整适配

6.点名器已经没有什么更新空间了,后续会制作其它的小工具,感谢各位的支持!

5.1版本发布说明

此版本更新内容与5.2相同,但提供了完整的Linux系统支持(感谢limuy2022),5.2更适用于Windows平台

5.1下载

5.0版本发布说明

5.0版本更新内容2022.12.22
1.调整UI布局以便显示更长名字
2.优化弹窗
3.新增单抽时背景音乐,开启方式请查看文件目录下的说明
4.新增名单长度读取
5.精简代码
软件完全免费并开源,意味着任何人都能查看这个工具的源代码,如果你是付费购买的,那说明你已经被骗了,请尝试立即退款并举报
经网友反馈360可能会误杀此工具,请将点名器加入信任区(开源软件,代码供网友随时检查)

4.9版本更新内容

2022.10.3
1.调整UI颜色
2.优化部分弹窗提示效果
3.优化更新提示
4.优化连抽体验
5.精简代码

4.8版本更新内容

2022.10.1
1.新增桌面高考倒计时(仅限定制版,通用版没有)
2.进一步修复高DPi问题
3.优化自动更新体验
4.更换打包方式,使程序更快启动

4.7版本更新内容

2022.9.25
1.新增自动检查更新
2.优化体验

4.6版本更新内容

2022.9.24
1.修复高DPI/4K分辨率下的崩溃问题,但在过高分辨率或DPI下仍会出现字体大小异常的问题 (暂无修复计划)
2.修复某些情况下无法修改名单的问题
3.优化界面和提示语
4.更改打包方式,提高运行速度


3.99版本更新内容

  • 2022.8.13

此更新3.99仅限13班定制版点名器,其余版本仍为3.90-3.95(3.90到3.95内容完全一样)

①修复图标过于模糊的问题

②修复连抽区间在43-100内无效的问题

③优化UI间隙


3.9 版本更新内容

  • 2022.8.12

①增大界面,增大字体,使文字能更好的在大屏幕上展示

②缓解了高DPI模式下无法完全显示文字的问题(还可以手动在电脑设置中将屏幕缩放比例调整至100%解决此问题)

③优化了连抽模式的体验


3.0版本更新内容

  • 2022.7.29

①全新界面,新增连抽和历史记录

②真随机抽取

2022.6 2.0首个版本

----------------------------------------------

关于

这个点名器源码来自Dragon少年 基于Python:pyqt5,我Yish_(高三)和QQB(高二)limuy2022(初三)制作

可以每次单人抽取也可以自己选择连抽人数进行多人连抽,并将这些随机抽取的学生姓名历史数据显示,能够活跃课堂氛围,排除主观因素,真正做到随机点名。

但由于技术原因,在连续抽取模式下,暂时无法做到不重复。已被limuy2022修复

制作:Yish_ ,QQB,limuy2022

https://www.bilibili.com/video/BV1ge4y1a7Q4/

一起用Python做个上课点名器,好玩又实用!_Dragon少年的博客-CSDN博客_python点名器

课堂点名器 – QQB's Blog (hltool.top)

Yish1/ktdmq: 课堂点名器 (github.com)

----------------------------------------------


更改名单

名单:首次打开后将自动在目录下生成名单.txt,您需要手动将里面的数字替换成点名的名单,格式为一行一个名字!!!

定制版本

定制版本名单封装至程序内,无法修改名单!!!您可以通过邮箱联系我获取定制版,这是免费的

----------------------------------------------

5.1部分源码展示

   def countname(self):
        name_counts = {}  # 存储名字出现次数的字典
        with open("点名器中奖名单.txt") as file:
            for line in file:
                if "幸运儿是:" in line:
                    cnames = line.split("幸运儿是:")[1].strip().strip("[]'")
                    cnames = cnames.split("', '")
                    for cname in cnames:
                        if cname not in name_counts:
                            name_counts[cname] = 1
                        else:
                            name_counts[cname] += 1
        sorted_counts = sorted(name_counts.items(), key=lambda x: x[1], reverse=True)
        names = [name for name, count in sorted_counts]
        counts = [count for name, count in sorted_counts]
        # 生成柱状图
        plt.rcParams["font.family"] = "Microsoft YaHei"
        plt.style.use("dark_background")
        fig, ax = plt.subplots(figsize=(7680 / 300, 4320 / 300))
        bars = ax.bar(names, counts, color="cyan")
        ax.bar_label(bars, fmt="%d", fontsize=12)  # 在柱子上方标记数据
        ax.set_xlabel("名字")
        ax.set_ylabel("次数")
        ax.set_title("点名器中奖统计", fontsize=24)  # 设置标题字体大小
        ax.tick_params(axis="x", rotation=90)
        # 弹窗选择保存选项
        msg_box = QMessageBox()
        msg_box.setWindowTitle("保存选项")
        msg_box.setText("请选择保存方式")
        save_button = msg_box.addButton("保存为柱形图", QMessageBox.YesRole)
        cancel_button = msg_box.addButton("保存为文本", QMessageBox.NoRole)
        msg_box.setDefaultButton(cancel_button)
        msg_box.exec_()
        if msg_box.clickedButton() == save_button:
            # 保存图表
            plt.savefig("中奖统计图.png")
            QMessageBox.information(self, "保存结果", "图表已保存到'中奖统计图.png'")
            plt.show()
        elif msg_box.clickedButton() == cancel_button:
            # 保存文本
            cresult = "中奖名单统计(统计会覆盖上一次结果):\n"
            for name, count in sorted_counts:
                cresult += f"{name} 出现了 {count} 次\n"
            with open("中奖统计.txt", "w") as file:
                file.write(cresult)
            QMessageBox.information(self, "保存结果", "统计结果已保存到'中奖统计.txt'")
            opentext("./中奖统计.txt")

----------------------------------------------

Yish1/ktdmq: 课堂点名器 (github.com)


风带来故事的种子,时间使之发芽
最后更新于 2023-09-13