【办公类-21-18】20240701 养老护理员初级选择题488,制作PyQt5图形界面GUI

背景需求:

6月16日育婴师高级考完了。运气好,抽到的是”护理患腹泻的幼儿”,“晨检与家长沟通”,“4个月婴儿喂蛋黄”,“21个月食谱”,都是我背过的题目(没有抽到感统)

于是一放假,我又去这个培训机构报了一个“养老护理员五级”,因为非从业,无法申报政府补贴,因此报名老师建议我读个“保育员高级”(幼儿园从业10年可以直接报高级,有补贴,可覆盖学费)。

综合考虑(单位不缺保育员,幼儿人数锐减),我还是自费报了养老护理初级。

老师也说如果想要补贴,她也可以联系将证书挂靠养老机构,但如果被抽查到,会影响信誉(个税上很容易查到)。目前公办教师岗都不是铁饭碗了,我自然不敢舍本求末。

随后老师介绍课程,认为初级护理非常简单,理论全部是判断题,操作只有8题,其中一套2选1。随到随学,每月有考核。

既然容易通过,我就问考完初级,可以再考中级吗?她说必须再等3年,而且最好单位开证明是”保健岗“,才能读。T_T,那就赶紧考完初级,等几年再考。

一、素材整理

报名后,老师把我拉群,并发了一堆“判断题”。

打开一看,是问卷星刷题(一套50题)

一定要答完50题,提交后,才会看到50道答案。

我感觉这个不如”刷题小程序“来的直观(可以直接知道每一题是否正确)。(强推大头先生的计算机二级考试刷题免费程序)

我也想做一个这样的刷题界面,便于刷题(据说养老护理员的判断题,考前刷两天就行了,因为题目少,而且大部分都是常识题,全部选对,都能对一半的那种)

于是我打开每套题目,全部选对,提交后,问卷星显示正确答案,然后用微信截图里面的滚动截屏,把7套50题答案都截图下来

长图截屏

用微信图片打开截图,长按,提取文字

全选复制

黏贴到微信里

然后把文字复制到Word里,用查找替换方式将:”回答正确“替换为”✓,回答错误替换为“×”……反正替换了很长时间,有时候就是手动删除,将一个题目和答案放在一起

再把整理的好题目放到Excel里

二、程序设计

然后就是不断问星火讯飞,怎样做一个gui界面

不断添加需求,一条条测试,终于完成了第一稿的“养老护理员五级判断题488题”的图形用户界面程序.

**PyQt5是一个用于创建图形用户界面(GUI)的Python库,基于Qt库开发**。

代码展示:

'''
项目:养老护理员五级 判断题488题,PyQt5图形用户界面GUI
工具:星火讯飞,阿夏
时间:2024年7月1日
问题:下一页可以完成,上一页没有做出来
'''from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QPushButton, QTextEdit
from PyQt5.QtGui import QFont
import sys
from PyQt5.QtCore import Qt
import openpyxldef on_button_clicked():sender = app.sender()if sender.text() == "正确":if sheet.cell(row=row, column=4).value == "正确":label_result.setText("您的回答是✓,回答正确\n正确答案 ✓")label_result.setStyleSheet("color: black;")else:label_result.setText("您的回答是✓,回答错误\n正确答案 ×")label_result.setStyleSheet("color: red;")elif sender.text() == "错误":if sheet.cell(row=row, column=4).value == "错误":label_result.setText("您的回答是×,回答正确\n正确答案 ×")label_result.setStyleSheet("color: black;")else:label_result.setText("您的回答是×,回答错误\n正确答案 ✓")label_result.setStyleSheet("color: red;")def next_question():global rowrow += 1if row > sheet.max_row:row = 2cell_value = sheet.cell(row=row, column=1).valuetext_edit.setPlainText(cell_value)label_result.clear()# def next_question():
#     global row
#     row -= 1
#     if row < 2:
#         row = sheet.max_row
#     cell_value = sheet.cell(row=row, column=1).value
#     text_edit.setPlainText(cell_value)
#     label_result.clear()# 创建应用程序对象
app = QApplication(sys.argv)path=r'C:\Users\jg2yXRZ\OneDrive\桌面\养老护理员APP'# 创建主窗口
window = QMainWindow()
window.setWindowTitle("养老护理初级(五级)判断题488题")
window.setGeometry(50, 50, 600, 900)  # 设置窗口大小和位置# 创建一个标签并设置文本
label = QLabel("养老护理初级(五级)判断题488题", window)
label.setFont(QFont("宋体", 30, QFont.Bold))  # 设置字体为宋体,大小为30磅,加粗
label.setAlignment(Qt.AlignCenter)  # 设置文本居中对齐
label.adjustSize()  # 根据内容调整标签大小
label.move((window.width() - label.width()) // 2, 10)  # 距离顶部10磅位置# 读取Excel文件
workbook = openpyxl.load_workbook(path+r'\养老护理初级题目.xlsx')
sheet = workbook.active
row = 2
cell_value = sheet.cell(row=row, column=1).value# 创建一个文本框并设置文本
text_edit = QTextEdit(window)
text_edit.setPlainText(cell_value)
text_edit.setFont(QFont("宋体", 30, QFont.Bold))  # 设置字体为宋体,大小为30磅,加粗
text_edit.setAlignment(Qt.AlignLeft)  # 设置文本左对齐
text_edit.setFixedWidth(500)  # 设置文本框宽度为800
text_edit.setFixedHeight(400)  # 设置文本框高度为400
text_edit.move((window.width() - text_edit.width()) // 2, 60)  # 将文本框放置在(0,50)的坐标位置# 创建一个点选按钮并设置文本
an=['正确','错误']
zb=['500','600']
for a in range(len(an)):check_button = QPushButton(an[a], window)check_button.setFont(QFont("宋体", 30, QFont.Bold))  # 设置字体为宋体,大小为30磅,加粗check_button.setCheckable(True)  # 设置为可选中状态check_button.resize(100, 50)  # 设置按钮的长宽为40*70check_button.move(50, int(zb[a]))  # 将按钮放置在(300,10)的坐标位置check_button.clicked.connect(on_button_clicked)  # 连接按钮点击事件到处理函数yy=['上一页','下一页']
zb2=['50','400']
# 创建一个点选按钮并设置文本
for y in range(len(yy)):prev_button = QPushButton(yy[y], window)prev_button.setFont(QFont("宋体", 30, QFont.Bold))  # 设置字体为宋体,大小为30磅,加粗prev_button.resize(120, 50)  # 设置按钮的长宽为40*70prev_button.move(int(zb2[y]),840)  # 将按钮放置在(600,10)的坐标位置if y == 1:prev_button.clicked.connect(next_question)  # 连接下一页按钮点击事件到处理函数# 创建一个标签用于显示结果
label_result = QLabel("", window)
label_result.setFont(QFont("宋体", 20, QFont.Bold))  # 设置字体为宋体,大小为30磅,加粗
label_result.setAlignment(Qt.AlignCenter)  # 设置文本居中对齐
label_result.adjustSize()  # 根据内容调整标签大小
label_result.resize(500, 100)  # 设置按钮的长宽为40*70
label_result.move(50, 700)  # 将标签放置在(0,300)的坐标位置# 显示窗口
window.show()# 运行应用程序的主循环
sys.exit(app.exec_())

视频展示:

图片展示

选对了,就是黑色文字

选错了,就是红色文字

选对了,就是黑色文字

选错了,就是红色文字。

目前上一页按钮还没有做出来,没法打包。明天再试试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37893.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】解决C语言报错:Invalid Pointer

文章目录 简介什么是Invalid PointerInvalid Pointer的常见原因如何检测和调试Invalid Pointer解决Invalid Pointer的最佳实践详细实例解析示例1&#xff1a;未初始化的指针示例2&#xff1a;已释放的指针示例3&#xff1a;返回局部变量的指针示例4&#xff1a;野指针 进一步阅…

《化学工程与装备》是什么级别的期刊?是正规期刊吗?能评职称吗?

​问题解答 问&#xff1a;《化学工程与装备》是不是核心期刊&#xff1f; 答&#xff1a;不是&#xff0c;是知网收录的第一批认定学术期刊。 问&#xff1a;《化学工程与装备》级别&#xff1f; 答&#xff1a;省级。主管单位&#xff1a;福建石油化工集团有限责任公司 …

昇思25天学习打卡营第6天|网络构建

网络构建 概念模型模型参数 概念 神经网络模型是由神经网络层和Tensor操作构成的&#xff0c;mindspore.nn提供了常见神经网络层的实现&#xff0c;在MindSpore中&#xff0c;Cell类是构建所有网络的基类&#xff0c;也是网络的基本单元。一个神经网络模型表示为一个Cell&…

技术革新:如何用数据中台实现数字化转型

作为程序员&#xff0c;我们总是对技术如何改变企业运作充满好奇。今天&#xff0c;我们将深入探讨森马集团如何利用数据中台技术&#xff0c;实现从传统数据分析到数字化转型的华丽转身。 1. 技术背景&#xff1a;森马集团的数字化挑战 森马集团&#xff0c;一个在服饰行业占…

天津惠灵顿:从心,致逐梦康桥|在这所天津国际学校从容不迫中走近梦想

在刚刚落下帷幕的申请季中&#xff0c;来自惠灵顿天津校区的Herman&#xff0c;陆续收到了剑桥大学、帝国理工学院、纽约大学、瓦萨学院等10余封录取通知书。面对纷至沓来的名校肯定&#xff0c;经历了短暂的尘埃落定的喜悦&#xff0c;Herman很快恢复了往日里的泰然自若。在他…

chunkers/maxent_ne_chunker/english_ace_multiclass.pickle 找不到

首先在这个nltk_data &#xff1a; NLTK Data官方下的数据集&#xff0c;找不到english_ace_multiclass.pic 说明缺少这个文件 : 那么在 nlp/resources/chunkers/maxent_ne_chunker/english_ace_multiclass.pickle at master teropa/nlp (github.com) 下载那两个文件 : 然…

基于SpringBoot的CSGO赛事管理系统

您好&#xff01;我是专注于计算机技术研究的码农小野。如果您对CSGO赛事管理系统感兴趣或有相关开发需求&#xff0c;欢迎随时联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot框架&#xff0c;Java技术 工具&#xff1a;Eclipse&a…

迈阿密色主题学科 HTML5静态导航源码

源码介绍 迈阿密色主题学科 HTML5静态导航源码&#xff0c;源码直接上传可用&#xff0c;有技术的可以拿去写个后端搜索调用百度接口&#xff0c;也可用于做引导页下面加你网址添加一个A标签就行了&#xff0c;很简单&#xff0c;需要的朋友就拿去吧 界面预览 源码下载 迈阿…

专题五:Spring源码之初始化容器上下文

上一篇我们通过如下一段基础代码作为切入点&#xff0c;最终找到核心的处理是refresh方法&#xff0c;从今天开始正式进入refresh方法的解读。 public class Main {public static void main(String[] args) {ApplicationContext context new ClassPathXmlApplicationContext(…

鸿蒙本地签名不匹配问题

连接鸿蒙手机运行项目报如下错误 这是由于本地签名和鸿蒙设备签名不匹配导致的&#xff0c;需要注释掉如下代码&#xff0c;选择file project 自动签名 勾选auto选项&#xff0c;会在build-profile.json5中生成一个签名&#xff0c;然后运行就ok了~

创建一个Django用户认证系统

目录 1、Django2、Django用户认证系统User 模型&#xff1a;Authentication 视图&#xff1a;认证后端 (Authentication Backends)&#xff1a;Form 类&#xff1a;中间件 (Middleware)&#xff1a;权限和组 (Permissions and Groups)&#xff1a; 3、创建一个django用户认证系…

MNIST手写字体识别(算法基础)

快教程 10分钟入门神经网络 PyTorch 手写数字识别 慢教程 【深度学习Pytorch入门】 简单回归问题-1 梯度下降算法 梯度下降算法 l o s s x 2 ∗ s i n ( x ) loss x^2 * sin(x) lossx2∗sin(x) 求导得&#xff1a; f ‘ ( x ) 2 x s i n x x 2 c o s x f^(x)2xsinx x^…

Cesium大屏-vue3注册全局组件

1.需求 说明&#xff1a;产品经理要求开发人员在地图大屏上面随意放置组件&#xff0c;并且需要通过数据库更改其组件大小&#xff0c;位置等&#xff1b;适用于大屏组件中场站视角、任意位置标题等。 2.实现 2.1GlobalComponents.vue 说明&#xff1a;containerList可以通…

python基础语法 004-2流程控制- for遍历

1 遍历 1.1 什么是遍历&#xff1f; 可以遍历的元素&#xff1a;字符串、列表、元组、字典、集合字符串是可以进行for 循环。&#xff08;容器对象&#xff0c;序列&#xff09;可迭代对象iterable 例子&#xff1a; 1 &#xff09;、for遍历字符串&#xff1a; name xiao…

RK3568驱动指南|第十五篇 I2C-第167章 I2C上拉电阻

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

SpringBoot实现图片添加水印

提示&#xff1a;今日完成图片添加水印功能 后续可能还会继续完善这个功能 文章目录 目录 文章目录 前端部分 后端 Xml Controller层 Sercive层 Service实现层 Config配置层 application.properties 文件后缀名获取 常量定义 前端部分 <!DOCTYPE html> <htm…

WIN11,如何同时连接有线网络与WLAN无线网络

之前写了两篇文章&#xff0c;一篇是双网卡多网卡时win11如何设置网卡优先级_多网卡设置网卡优先级-CSDN博客 另一篇是win11 以太网和WLAN冲突 连接网线时导致WiFi掉线 解决_win11 以太网和wifi不能同时生效-CSDN博客 这篇是对上面两篇的补充&#xff1a;主要解决电脑重启后&…

语音芯片TD5580,USB小音响芯片—拓达半导体

有时候电脑的声卡会出现损坏的问题&#xff0c;给我们的生活带来了很多麻烦。这时候&#xff0c;我们就需要一款方便易用的产品来解决声卡问题。USB声卡小音响就是为了解决这个问题而设计的一款便捷的产品。它不仅可以作为一个小音响&#xff0c;让您在工作和娱乐的时候享受高品…

docker-compose搭建minio对象存储服务器

docker-compose搭建minio对象存储服务器 最近想使用oss对象存储进行用户图片上传的管理&#xff0c;了解了一下例如aliyun或者腾讯云的oss对象存储服务&#xff0c;但是呢涉及到对象存储以及经费有限的缘故&#xff0c;决定自己手动搭建一个oss对象存储服务器&#xff1b; 首先…

创建XCOM窗体和跳转连接

Xcom 窗体&#xff1a; (groupBox组合框&#xff0c;comboBox下拉框) xcom代码&#xff1a; namespace _01_作业 {// 1kb 1024B 1200B// 1MB public partial class Form1 : Form{public List<string> botelv new List<string> { "600","1200&…