【办公类-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防火墙)

相关推荐
CodeCraft Studio1 小时前
PDF处理控件Aspose.PDF教程:使用 Python 将 PDF 转换为 Base64
开发语言·python·pdf·base64·aspose·aspose.pdf
困鲲鲲2 小时前
Python中内置装饰器
python
摩羯座-185690305942 小时前
Python数据可视化基础:使用Matplotlib绘制图表
大数据·python·信息可视化·matplotlib
爱隐身的官人3 小时前
cfshow-web入门-php特性
python·php·ctf
gb42152873 小时前
java中将租户ID包装为JSQLParser的StringValue表达式对象,JSQLParser指的是?
java·开发语言·python
THMAIL3 小时前
量化股票从贫穷到财务自由之路 - 零基础搭建Python量化环境:Anaconda、Jupyter实战指南
linux·人工智能·python·深度学习·机器学习·金融
~-~%%3 小时前
从PyTorch到ONNX:模型部署性能提升
人工智能·pytorch·python
蒋星熠4 小时前
Flutter跨平台工程实践与原理透视:从渲染引擎到高质产物
开发语言·python·算法·flutter·设计模式·性能优化·硬件工程
爬虫程序猿4 小时前
《京东商品详情爬取实战指南》
爬虫·python
胡耀超4 小时前
4、Python面向对象编程与模块化设计
开发语言·python·ai·大模型·conda·anaconda