【办公类-27-01】20240430开卷竞赛题(GUI界面)+程序打包EXE

背景需求:

打开docx,一共有60题,挺多的,

通常我会用CTRL+H,在Word里面搜索关键词,然后找到这道题。

但是有3个问题

1、搜索的文字可能并非整段显示(一部分在上一页内,要滚轮拖动,多用时间)

2、关键词可能有多个,在多个题目内出现,需要点几次才能找到正确的题。

3、字体较小,不适合领导观看

年长者阅读时,文字字体需要放大,

即使找到题目,但很多题目在排在一起,视觉不聚焦。答题有延时。

解决思路:

以前我看到过GUI界面,但是我不会做gui,因此没有尝试过。

但是现在有AI对话大师,用它为我做一个开卷考的"做题神器!"

一、设计GUI界面的搜索题库

AI提问

问了13次,AI把"开卷考神器"做好了,我只是修改了字体的大小和GUI的题目

素材路径

代码展示:

python 复制代码
'''
目的:X老师党支部书记擂台比武知识竞赛测试(GUI界面)
作者:AI对话大师,阿夏
时间;2024年4月30日
'''


from docx import Document
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QTextEdit, QVBoxLayout, QPushButton
from PyQt5.QtGui import QFont
from PyQt5.QtCore import Qt

def search_keyword():
    keyword = keyword_input.text()
    paragraphs = []
    
    doc = Document(r'D:\test\02办公类\97X老师的竞赛考核\XX区教育系统基层党组织书记擂台比武知识测试参考题.docx')
    
    for para in doc.paragraphs:
        if keyword in para.text:
            paragraphs.append(para.text)
    
    result_text.clear()  # 清空结果文本框
    
    if paragraphs:
        result_text.append('\n'.join(paragraphs))
    else:
        result_text.append('未找到包含关键词的段落')
    
    keyword_input.returnPressed.disconnect()  # 断开之前的连接
    keyword_input.returnPressed.connect(clear_fields)  # 连接清空函数到returnPressed信号

def clear_fields():
    keyword_input.clear()  # 清空输入框
    result_text.clear()  # 清空结果文本框
    keyword_input.returnPressed.disconnect()  # 断开之前的连接
    keyword_input.returnPressed.connect(search_keyword)  # 连接搜索函数到returnPressed信号

app = QApplication([])
window = QWidget()
window.setWindowTitle("闵行区教育系统基层党组织书记擂台比武参考题")
window.setFixedSize(1900, 1000)  # 设置固定大小
window.setGeometry(0, 0, 400, 300)
# pyinstaller --onefile --add-data "附件1-2闵行区教育系统基层党组织书记擂台比武知识测试参考题.docx;." 97周老师的书记考试回车.py

layout = QVBoxLayout()

label = QLabel("请输入关键词(输入后第1次回车,出现文字,第2次回车,清空文字:")
label_font = QFont("Arial", 40)  # 创建20像素大小的字体对象
label.setFont(label_font)  # 将字体应用于标签
layout.addWidget(label)

keyword_input = QLineEdit()
input_font = QFont("Arial", 40)  # 创建20像素大小的字体对象
keyword_input.setFont(input_font)  # 将字体应用于输入框
keyword_input.returnPressed.connect(search_keyword)  # 将搜索函数连接到returnPressed信号
layout.addWidget(keyword_input)

result_text = QTextEdit()
result_font = QFont("Arial", 40)  # 创建20像素大小的字体对象
result_text.setFont(result_font)  # 将字体应用于文本框
layout.addWidget(result_text)

window.setLayout(layout)
window.show()

app.exec()

执行后出现GUI界面

输入关键词,按1下回车

按第2下回车,自动清除屏幕文字(必须按清除,才能确下一次输入关键词被识别)

再次输入"关键词,"按1下回车

按第2下回车,自动清除屏幕文字(必须按清除,才能确下一次输入关键词被识别)

视频赏析

涉及党务,视频直接被删除了。我换了育婴师考题查询,

20240430育婴师三级单选题(GUI界面搜索)

二、尝试打包EXE

既然AI助力Python,我想试试它会怎么把这个GUi界面文件打包(我想试试其他电脑上是否能执行)

它写出了打包的方法

第1步:安装pyinstaller (在VS code 编译器里终端里)

第2步,看不懂,就问

再问:

第3步:请它举个例子,看看能不能理解,并替换路径和文件名

说明1:为了打包,程序py和考题docx在一个文件夹下

说明2:更改路径

看不懂2,继续问

感觉是用cd 更换路径

先测试一下原来的路径是 D:\test

说明3,安装库

说明4,把docx和py文件名替换(都是一个文件里、同一个路径里)

输入到终端里

说明5,寻找最后生成EXE文件

说明7,exe放到桌面上,双击运行

EXE的路径改变,先出现黑色界面2秒左右

然后出现查询界面,

输入初心+回车,也能查询到docx里面的文字(脱离原来的路径,打包后依旧可以查询)

进行分享:

可以共享在其他电脑执行,,不过可能运行时,360杀毒会提示风险的(自制的EXE总是有这个问题,需要关闭360防火墙)

相关推荐
夏星印11 分钟前
argparse解析器参数详解
经验分享·笔记·python·学习·argparse
鬓戈1 小时前
SeaweedFS集群上文件遍历和删除
运维·python
困死,根本不会3 小时前
蓝桥杯python备赛笔记之(十)数论基础 & 日期问题
笔记·python·蓝桥杯
輕華3 小时前
Python 命令行参数处理:sys.argv 与 argparse 深度对比
python
清水白石0083 小时前
Python 内存陷阱深度解析——浅拷贝、深拷贝与对象复制的正确姿势
开发语言·python
国家二级编程爱好者3 小时前
删除typora文档没有引用的资源文件
git·python
进击的雷神3 小时前
邮箱编码解码、国际电话验证、主办方过滤、多页面深度爬取——柬埔寨塑料展爬虫四大技术难关攻克纪实
爬虫·python
深蓝电商API4 小时前
多线程 vs 异步 vs 多进程爬虫性能对比
爬虫·python
进击的雷神4 小时前
相对路径拼接、TEL前缀清洗、多链接过滤、毫秒级延迟控制——日本东京塑料展爬虫四大技术难关攻克纪实
爬虫·python
云溪·4 小时前
Milvus向量数据库混合检索召回案例
python·ai·milvus