背景需求:
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_())