From eddc2f992d8ed604317841c16bb316dd7fae0d10 Mon Sep 17 00:00:00 2001 From: wangweiye7840 Date: Sun, 28 Apr 2024 14:19:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E6=96=87=E6=9C=AC?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E5=A4=84=E7=90=86=20=E4=B8=AD=E7=9A=84?= =?UTF-8?q?=E4=B8=80=E5=A4=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 工具v4/database_tools_2.py | 7 +++++++ 工具v4/tool_panel.py | 5 +++-- 工具v4/文本转换处理.py | 11 +++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/工具v4/database_tools_2.py b/工具v4/database_tools_2.py index ff743aad..82e5a81e 100644 --- a/工具v4/database_tools_2.py +++ b/工具v4/database_tools_2.py @@ -2819,5 +2819,12 @@ def parseRemark(string): #从一行remark字符串中分出日期和内容, 返 return date,remark +def generateProDict(cursor): #从数据库的cursor中得到problems字典的content,ans,solution,genre字段 + cursor.execute("select ID,content,ans,solution,genre,origin from problems;") + ret_list = cursor.fetchall() + prodict = {ret[0]:{"content":ret[1],"ans":ret[2],"solution":ret[3],"genre":ret[4],"origin":json.loads(ret[5])} for ret in ret_list} + return prodict + + if __name__ == "__main__": print("数据库工具, import用.") \ No newline at end of file diff --git a/工具v4/tool_panel.py b/工具v4/tool_panel.py index f7c24a4e..2c96d509 100644 --- a/工具v4/tool_panel.py +++ b/工具v4/tool_panel.py @@ -126,7 +126,7 @@ class MyWindow(QMainWindow,Ui_MainWindow): self.layout_jysc.addWidget(self.jysc) #以上三行为初始化“讲义生成”tab self.layout_wbzh = QVBoxLayout(self.tab_wbzh) - self.wbzh = MyWindow_wbzh() + self.wbzh = MyWindow_wbzh(self.database) self.layout_wbzh.addWidget(self.wbzh) #以上三行为初始化“LaTeX代码转换”tab self.layout_hist = QVBoxLayout(self.tab_hist) @@ -153,7 +153,8 @@ class MyWindow(QMainWindow,Ui_MainWindow): self.dygg.setdbname, self.bjtm.setdbname, self.tjzd.setdbname, - self.bjjc.setdbname + self.bjjc.setdbname, + self.wbzh.setdbname ]: #在列表中的tab里传送数据库名的连接 self.sendDBname.connect(func) def sendValue(self): diff --git a/工具v4/文本转换处理.py b/工具v4/文本转换处理.py index d44ab4ac..b555eab6 100644 --- a/工具v4/文本转换处理.py +++ b/工具v4/文本转换处理.py @@ -3,15 +3,20 @@ from Ui_文本转换处理 import Ui_Form from database_tools_2 import * class MyWindow_wbzh(QWidget,Ui_Form): - def __init__(self): + def __init__(self,database_name): super().__init__() + self.database_name = database_name self.setupUi(self) self.bind() + def setdbname(self,string): + self.database_name = string + # print(self.database_name) def bind(self): self.radioButton_mathpix.setChecked(True) self.pushButton_convert.clicked.connect(self.exec) def exec(self): raw_string = self.plainTextEdit_origin.toPlainText() + self.mydb = connect(hostname = db_host, port = db_port, username=db_user, pwd=db_pwd, db = self.database_name) if self.radioButton_mathpix.isChecked(): dest_string = RefineMathpix(raw_string) elif self.radioButton_textcircled.isChecked(): @@ -26,9 +31,11 @@ class MyWindow_wbzh(QWidget,Ui_Form): elif self.radioButton_puctuations.isChecked(): dest_string = RefinePunctuations(raw_string) elif self.radioButton_answers.isChecked(): - self.pro_dict = load_dict("../题库0.3/Problems.json") + self.mycursor = self.mydb.cursor() + self.pro_dict = generateProDict(self.mycursor) dest_string = PaintRedAnswers(raw_string,self.pro_dict) self.plainTextEdit_dest.setPlainText(dest_string) + self.mydb.close()