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

相关推荐
_.Switch39 分钟前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一个闪现必杀技1 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
小鹿( ﹡ˆoˆ﹡ )1 小时前
探索IP协议的神秘面纱:Python中的网络通信
python·tcp/ip·php
卷心菜小温2 小时前
【BUG】P-tuningv2微调ChatGLM2-6B时所踩的坑
python·深度学习·语言模型·nlp·bug
陈苏同学2 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
唐家小妹2 小时前
介绍一款开源的 Modern GUI PySide6 / PyQt6的使用
python·pyqt
羊小猪~~3 小时前
深度学习项目----用LSTM模型预测股价(包含LSTM网络简介,代码数据均可下载)
pytorch·python·rnn·深度学习·机器学习·数据分析·lstm
Marst Code3 小时前
(Django)初步使用
后端·python·django
985小水博一枚呀3 小时前
【对于Python爬虫的理解】数据挖掘、信息聚合、价格监控、新闻爬取等,附代码。
爬虫·python·深度学习·数据挖掘
立秋67893 小时前
Python的defaultdict详解
服务器·windows·python