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

相关推荐
u0109147602 分钟前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
电化学仪器白超6 分钟前
小乌龟Git全程图形化操作指南:嵌入式本地版本管理与Gitee私有云备份实战
git·python·单片机·嵌入式硬件·物联网·gitee·自动化
2401_837163897 分钟前
如何在 Go 中正确解析带命名空间的 SOAP 响应
jvm·数据库·python
_Evan_Yao7 分钟前
RAG中的“Chunk”艺术:我试过10种切分策略后总结的结论
java·人工智能·后端·python·软件工程
m0_377618237 分钟前
CSS如何处理溢出隐藏_使用overflow-hidden与盒模型
jvm·数据库·python
qq_50242899028 分钟前
清华大学与微软亚洲研究院出品:Kronos 本地部署教程
数据结构·python·金融量化·kronos开源模型
2301_8148098633 分钟前
CSS Grid布局如何解决图片溢出网格单元_设置object-fit与网格尺寸.txt
jvm·数据库·python
m0_678485451 小时前
如何在Bootstrap中自定义Modal的弹出动画效果
jvm·数据库·python
m0_493934531 小时前
CSS如何禁止子元素浮动影响父级_设置父容器BFC属性
jvm·数据库·python
weixin_586061461 小时前
Golang怎么安装和配置开发环境_Golang环境搭建完整教程【总结】
jvm·数据库·python