diff --git a/工具v2/Ui_文本转换处理.py b/工具v2/Ui_文本转换处理.py index 4707f004..b13324f5 100644 --- a/工具v2/Ui_文本转换处理.py +++ b/工具v2/Ui_文本转换处理.py @@ -39,13 +39,13 @@ class Ui_Form(object): self.plainTextEdit_dest.setReadOnly(True) self.pushButton_convert = QPushButton(Form) self.pushButton_convert.setObjectName(u"pushButton_convert") - self.pushButton_convert.setGeometry(QRect(310, 210, 111, 71)) + self.pushButton_convert.setGeometry(QRect(310, 230, 111, 71)) font = QFont() font.setBold(True) self.pushButton_convert.setFont(font) self.layoutWidget = QWidget(Form) self.layoutWidget.setObjectName(u"layoutWidget") - self.layoutWidget.setGeometry(QRect(320, 80, 91, 100)) + self.layoutWidget.setGeometry(QRect(320, 80, 97, 126)) self.verticalLayout = QVBoxLayout(self.layoutWidget) self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setContentsMargins(0, 0, 0, 0) @@ -69,6 +69,11 @@ class Ui_Form(object): self.verticalLayout.addWidget(self.radioButton_puctuations) + self.radioButton_answers = QRadioButton(self.layoutWidget) + self.radioButton_answers.setObjectName(u"radioButton_answers") + + self.verticalLayout.addWidget(self.radioButton_answers) + self.retranslateUi(Form) @@ -86,5 +91,6 @@ class Ui_Form(object): self.radioButton_textcircled.setText(QCoreApplication.translate("Form", u"\u5706\u5708\u6570\u5b57", None)) self.radioButton_multiple.setText(QCoreApplication.translate("Form", u"\u591a\u9009\u8f6c\u586b\u7a7a", None)) self.radioButton_puctuations.setText(QCoreApplication.translate("Form", u"\u6807\u70b9\u8f6c\u534a\u89d2", None)) + self.radioButton_answers.setText(QCoreApplication.translate("Form", u"\u5df2\u6709\u7b54\u6848\u6807\u7ea2", None)) # retranslateUi diff --git a/工具v2/database_tools.py b/工具v2/database_tools.py index 1144e6cc..65240ce9 100644 --- a/工具v2/database_tools.py +++ b/工具v2/database_tools.py @@ -2145,7 +2145,23 @@ def startfile(filepath): #跨平台打开文件或文件夹 return ret - +def PaintRedAnswers(string,prodict): #将prodict中已有的答案标红色 + output = string + IDandContentList = generateListOfIDandContent(output) + for id,content in IDandContentList: + raw_string = id+")"+content + # u = output.index(raw_string) + if "textcolor{blue}" in raw_string: + new_ans = generateAnswerTex(content,anspreamble="\\textcolor{blue}{") + raw_ans = prodict[id]["ans"] + if new_ans == raw_ans: + sub_string = raw_string.replace("textcolor{blue}","textcolor{red}") + output = output.replace(raw_string,sub_string) + elif raw_ans == "": + print(f"{id} 已有答案, 请运行提取答案控件以获取新录入的答案") + elif new_ans != "暂无答案": + print(f"{id} 新答案 {new_ans} 和原答案 {raw_ans} 有所不同, 请仔细检查") + return output if __name__ == "__main__": diff --git a/工具v2/文本转换处理.py b/工具v2/文本转换处理.py index 6dfe2f2f..85a9272c 100644 --- a/工具v2/文本转换处理.py +++ b/工具v2/文本转换处理.py @@ -25,6 +25,9 @@ class MyWindow(QWidget,Ui_Form): dest_string = "转换失败" elif self.radioButton_puctuations.isChecked(): dest_string = RefinePunctuations(raw_string) + elif self.radioButton_answers.isChecked(): + self.pro_dict = load_dict("../题库0.3/Problems.json") + dest_string = PaintRedAnswers(raw_string,self.pro_dict) self.plainTextEdit_dest.setPlainText(dest_string) diff --git a/工具v2/文本转换处理.ui b/工具v2/文本转换处理.ui index 17698267..373eec33 100644 --- a/工具v2/文本转换处理.ui +++ b/工具v2/文本转换处理.ui @@ -75,7 +75,7 @@ 310 - 210 + 230 111 71 @@ -94,8 +94,8 @@ 320 80 - 91 - 100 + 97 + 126 @@ -127,6 +127,13 @@ + + + + 已有答案标红 + + +