背景需求:
打开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