吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2405|回复: 7
收起左侧

[Python 转载] Python 业余人员自制点名程序

[复制链接]
wrx231824 发表于 2022-5-30 10:38

语文老师一名,放假时间自学python,尝试做了一个点名程序,用pyside2加了一个UI,功能单一。供大家娱乐一下。
界面在左下角,
目前出现的问题,精力有限没时间解决。

1、用Pyinstallers打包后,在学校教室电脑上出现缺少dll文件,电脑是学校的,没法装c++2015,
2、在新电脑上会提示找不到库文件。

文件比较小,就放到度盘
链接: https://pan.baidu.com/s/1s9erPtImF576kqZLF9UIeQ?pwd=5qqu 提取码: 5qqu 复制这段内容后打开百度网盘手机App,操作更方便哦


[Python] 纯文本查看 复制代码
# coding:utf-8



import sys
from random import choice

from PySide2.QtCore import Slot, Qt
from PySide2.QtGui import QFont, QGuiApplication
from PySide2.QtWidgets import QApplication, QWidget, QMessageBox

from ui_namechose import Ui_Form



import openpyxl
from playsound import playsound
from threading import Thread

"""
读取excel文件的学生名字

"""
name = []   #用来装学生信息
#读取文件
wb = openpyxl.load_workbook("名单.xlsx", data_only=True)

#读取sheet信息
sheet = wb.sheetnames

#选择需要的sheet表格
mysheet = wb['name']



#读取A列信息
ndata = mysheet['A']

#信息加入到列表name[]
for cell_columns in ndata:

    name.append(cell_columns.value)


#播放提示音
def play_sound(file):  # 播放声音
    playsound(file)

#设置UI
class loadui(QWidget):
    def __init__(self):
        super(loadui, self).__init__()
        self.ui = Ui_Form()
        self.ui.setupUi(self)
        self.name = name.copy()
        #设置label显示格式,边框,大小
        self.ui.showlabel.setStyleSheet('border-radius:30px;border:5px groove')
        #设置UI位置和大小
        self.window().setGeometry(0, QGuiApplication.primaryScreen().geometry().height() - 150, 200, 100)
        self.window().setFixedSize(200, 100)
        #不许自己调整大小,禁用最大化按钮,窗口置顶
        self.window().setWindowFlags(Qt.WindowMinimizeButtonHint |
                                     Qt.WindowCloseButtonHint |
                                     Qt.WindowStaysOnTopHint)
        
        
    #抽取
    def chouse(self):
        if len(self.name) > 0:#看看列表里面还有没有名字
 
            codename = choice(self.name)#随机选择
  
            self.name.remove(codename)   #删掉选出的名字
            self.ui.showlabel.setText(codename)#显示选出的名字

            self.ui.showlabel.setFont(QFont("楷体", 40, QFont.Black))#设置显示字体,颜色,大小
           
        else:
            self.openMessageBox()#没有名字弹出提示框

            # TODO: '弹出弹窗,重新开始!'

    def openMessageBox(self):
        QMessageBox.information(self, '提示:', '名字全部点完,是否重新开始?')
        self.name = name.copy()   #名字列表重新装载名字

        self.ui.showlabel.clear()   #显示界面清空


    #点击抽取按钮时触发
    @Slot()
    def on_okButton_clicked(self):
        Thread(target=play_sound, args=('ding.mp3',), daemon=True).start()#设置临时线程,播放声音
        self.chouse()


if __name__ == '__main__':
    app = QApplication(sys.argv)
    appui = loadui()
    appui.show()
    sys.exit(app.exec_())

Excel 文件放名字

Excel 文件放名字

运行界面在左下角

运行界面在左下角

运行时的界面

运行时的界面

免费评分

参与人数 1吾爱币 +7 热心值 +1 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

skyadmin 发表于 2022-5-30 19:30
ui好看点就好了
yzxqhdx 发表于 2022-5-30 20:14
normandie2008 发表于 2022-5-30 21:03
本帖最后由 normandie2008 于 2022-5-30 21:14 编辑

你这样读取excel数据太麻烦了。用pandas库代码可以简洁很多。而且你excel工作簿的表名必须时name才行的。
 楼主| wrx231824 发表于 2022-6-1 07:30

代码全是在网上copy改的,对我来说能用就行
 楼主| wrx231824 发表于 2022-6-1 07:32
normandie2008 发表于 2022-5-30 21:03
你这样读取excel数据太麻烦了。用pandas库代码可以简洁很多。而且你excel工作簿的表名必须时name才行的。

面向CSDN编程,直接找到的是openpyxl的教程,有时间研究研究,
吾爱啦啦 发表于 2022-6-1 14:57

++

语文老师也要懂代码么
 楼主| wrx231824 发表于 2022-6-1 19:19
吾爱啦啦 发表于 2022-6-1 14:57
语文老师也要懂代码么

爱好,纯属爱好·~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-1 07:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表