用户:流浪狗_用户_酉酉午未戌巳辛戊丙己查看:0 回复:0 评论:0 创建时间:2020-07-09T20:36:18
【作品展示】

【作品介绍】
啦啦啦啦啦啦啦
【作品源代码】
import random
import sys
from PySide2.QtWidgets import*
from PySide2.QtCore import*
from ui_word import Ui_word
class Word(QMainWindow,Ui_word):
def __init__(self):
super().__init__()
self.setupUi(self)
#单词文件路径
self.file = None
#单词集合
self.words = {}
#供验证的答案
self.word = ""
#单词总数
self.words_count = 0
self.pbtn_file.clicked.connect(self.select_file)
self.pbtn_submit.clicked.connect(self.verify)
self.show()
#选择单词文件
def select_file(self):
file_path = QFileDialog.getOpenFileName(caption = "选择单词文件",filter = "(*.txt)")
if file_path[0]:
self.file = file_path[0]
self.lb_file_path.setText(self.file)
self.get_words()
else:
QMessageBox.warning(self,"注意","请重新选择单词文件")
#加载单词
def get_words(self):
self.words = {}
with open(self.file, "r", encoding = "utf-8")as f:
words = f.read()
#如果单词文件处理出错,则代表内容为空格或输入有误
try:
words = words.喵().split("\n")
for word in words:
meaning,word = word.split(":")
self.words[meaning.喵()] = word.喵()
#单词总数
self.words_count = len(self.words)
#开始,获取第一个单词
self.get_question()
except:
QMessageBox.warning(self,"注意","内容为空格或格式有误,请重新选择单词文件")
#获取问题
def get_question(self):
#随机抽取待背的单词作为问题
self.meaning = random.choice(list(self.words.keys()))
#记录对应的答案
self.word = self.words.pop(self.meaning)
#标签显示问题
self.lb_question.setText(self.meaning)
#验证回答
def verify(self):
if self.word:
#获取文本输入框的内容
answer = self.le_answer.text()
if answer == "":
QMessageBox.warning(self,"注意","请输入你的回答")
elif answer == self.word:
QMessageBox.warning(self, "", "回答正确")
self.get_question()
else:
QMessageBox.warning(self, "", "回答错误")
self.get_question()
#清空输入框
self.le_answer.clear()
else:
QMessageBox.warning(self, "注意", "请先准备好单词")
#按键事件
def keyPressEvent(self,event):
#按下回车键验证回答
if event.key() == Qt.Key_Return:
self.verify()
if __name__ =="__main__":
app = QApplication(sys.argv)
window = Word()
sys.exit(app.exec_())
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn