Merge commit 'afb8dc94990b70fb5c5868f6e2a7367f106d486f'

This commit is contained in:
weiye.wang 2024-03-02 12:49:06 +08:00
commit c61e489ccc
3 changed files with 478 additions and 0 deletions

66
工具v2/Qt面板.py Normal file
View File

@ -0,0 +1,66 @@
from PySide6.QtWidgets import QMainWindow, QApplication, QFileDialog, QWidget
from Ui_Qt面板 import *
from subprocess import call
from database_tools import *
import os
def run_command(name,openfilelist):
configjson = load_dict("文本文件/config.json")
for f in openfilelist:
if not f in configjson:
os.system("code -w "+f)
else:
lineindex = getlineindex(f'"{f}"',"文本文件/config.json")
os.system(f"code -w -g 文本文件/config.json:{lineindex}")
call(["python",name+".py"])
class MyWindow(QMainWindow,Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.bind()
def bind(self):
self.action_kxth.triggered.connect(lambda: run_command("寻找空闲题号",[]))
self.action_xtbd.triggered.connect(lambda: run_command("新题比对",[]))
self.action_plsl.triggered.connect(lambda: run_command("批量收录题目",["批量收录题目.py"]))
self.action_tjgl.triggered.connect(lambda: run_command("添加关联题目",["添加关联题目.py"]))
self.action_tjzd.triggered.connect(lambda: run_command("修改metadata",["文本文件/metadata.txt"]))
self.action_LaTeXedit.triggered.connect(lambda: run_command("LaTeX编辑题目答案及提示",["latex编辑题目答案及提示.py"]))
self.action_jsonedit.triggered.connect(lambda: run_command("json编辑题目综合信息",["json编辑题目综合信息.py"]))
self.action_xxdr.triggered.connect(lambda: run_command("获取小闲平台使用数据",[]))
self.action_sddr.triggered.connect(lambda: run_command("手动统计结果导入",["临时文件/手动统计结果.txt"]))
self.action_tkdr.triggered.connect(lambda: run_command("统考数据导入",["统考数据导入.py"]))
self.action_dygg.triggered.connect(lambda: run_command("单元挂钩",["单元挂钩.py"]))
self.action_tqda.triggered.connect(lambda: run_command("文件或剪贴板提取答案",["文件或剪贴板提取答案.py"]))
self.action_hbsy.triggered.connect(lambda: run_command("合并使用记录并排序",[]))
self.action_tjjc.triggered.connect(lambda: run_command("添加基础知识梳理",["添加基础知识梳理.py"]))
self.action_sxth.triggered.connect(lambda: run_command("关键字筛选题号",[]))
self.action_xtby.triggered.connect(lambda: run_command("多种题目生成",["多种题目生成.py"]))
self.action_sctp.triggered.connect(lambda: run_command("单一题目转成图片文件",["单一题目转成图片文件.py"]))
self.action_hqth.triggered.connect(lambda: run_command("在.tex或.pdf文件中获取题号",["在.tex或.pdf文件中获取题号.py"]))
self.action_jglr.triggered.connect(lambda: run_command("讲义结构编号录入",["讲义结构编号录入.py"]))
self.action_dtdy.triggered.connect(lambda: run_command("录入答题纸对应信息",["录入答题纸对应信息.py"]))
self.action_jysc.triggered.connect(lambda: run_command("系列讲义生成",[]))
self.action_mtpx.triggered.connect(lambda: run_command("mathpix识别文本预处理",[]))
self.action_dqsz.triggered.connect(lambda: run_command("修改为带圈数字",[]))
self.action_dxtk.triggered.connect(lambda: run_command("多选题转为填空题",[]))
if __name__ == '__main__':
app = QApplication([])
windows = MyWindow()
windows.show()
app.exec()

229
工具v2/Qt面板.ui Normal file
View File

@ -0,0 +1,229 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>426</width>
<height>330</height>
</rect>
</property>
<property name="windowTitle">
<string>题库工具面板(PyQt)-20240301</string>
</property>
<widget class="QWidget" name="centralwidget"/>
<widget class="QMenuBar" name="menubar">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>426</width>
<height>22</height>
</rect>
</property>
<widget class="QMenu" name="menu_luru">
<property name="title">
<string>录入</string>
</property>
<addaction name="action_kxth"/>
<addaction name="separator"/>
<addaction name="action_xtbd"/>
<addaction name="action_plsl"/>
<addaction name="separator"/>
<addaction name="action_tjgl"/>
</widget>
<widget class="QMenu" name="menu_weihu">
<property name="title">
<string>维护</string>
</property>
<widget class="QMenu" name="menu">
<property name="title">
<string>编辑题目</string>
</property>
<addaction name="action_LaTeXedit"/>
<addaction name="action_jsonedit"/>
</widget>
<addaction name="action_tjzd"/>
<addaction name="separator"/>
<addaction name="menu"/>
<addaction name="separator"/>
<addaction name="action_xxdr"/>
<addaction name="action_sddr"/>
<addaction name="action_tkdr"/>
<addaction name="separator"/>
<addaction name="action_dygg"/>
<addaction name="separator"/>
<addaction name="action_tqda"/>
<addaction name="separator"/>
<addaction name="action_hbsy"/>
<addaction name="separator"/>
<addaction name="action_tjjc"/>
</widget>
<widget class="QMenu" name="menu_shiyong">
<property name="title">
<string>使用</string>
</property>
<addaction name="action_sxth"/>
<addaction name="separator"/>
<addaction name="action_xtby"/>
<addaction name="separator"/>
<addaction name="action_sctp"/>
<addaction name="separator"/>
<addaction name="action_hqth"/>
</widget>
<widget class="QMenu" name="menu_beikezu">
<property name="title">
<string>备课组</string>
</property>
<addaction name="action_jglr"/>
<addaction name="action_dtdy"/>
<addaction name="separator"/>
<addaction name="action_jysc"/>
</widget>
<widget class="QMenu" name="menu_latex">
<property name="title">
<string>LaTeX代码相关</string>
</property>
<addaction name="action_mtpx"/>
<addaction name="action_dqsz"/>
<addaction name="action_dxtk"/>
</widget>
<widget class="QMenu" name="menu_exit">
<property name="title">
<string>退出</string>
</property>
</widget>
<addaction name="menu_luru"/>
<addaction name="menu_weihu"/>
<addaction name="menu_shiyong"/>
<addaction name="menu_beikezu"/>
<addaction name="menu_latex"/>
<addaction name="menu_exit"/>
</widget>
<widget class="QStatusBar" name="statusbar"/>
<action name="action_kxth">
<property name="text">
<string>寻找空闲题号</string>
</property>
</action>
<action name="action_xtbd">
<property name="text">
<string>新题比对</string>
</property>
</action>
<action name="action_plsl">
<property name="text">
<string>批量收录新题</string>
</property>
</action>
<action name="action_tjgl">
<property name="text">
<string>添加关联题目</string>
</property>
</action>
<action name="action_tjzd">
<property name="text">
<string>批量添加字段数据</string>
</property>
</action>
<action name="action_xxdr">
<property name="text">
<string>小闲使用记录导入</string>
</property>
</action>
<action name="action_sddr">
<property name="text">
<string>手动使用记录导入</string>
</property>
</action>
<action name="action_tkdr">
<property name="text">
<string>统考使用记录导入</string>
</property>
</action>
<action name="action_hbsy">
<property name="text">
<string>合并使用记录并排序</string>
</property>
</action>
<action name="action_dygg">
<property name="text">
<string>单元挂钩</string>
</property>
</action>
<action name="action_tqda">
<property name="text">
<string>提取答案</string>
</property>
</action>
<action name="action_sxth">
<property name="text">
<string>关键字筛选题号</string>
</property>
</action>
<action name="action_xtby">
<property name="text">
<string>选题编译</string>
</property>
</action>
<action name="action_sctp">
<property name="text">
<string>题号生成图片</string>
</property>
</action>
<action name="action_tjjc">
<property name="text">
<string>添加基础知识梳理</string>
</property>
</action>
<action name="action_jglr">
<property name="text">
<string>讲义结构编号录入</string>
</property>
</action>
<action name="action_dtdy">
<property name="text">
<string>录入答题纸对应信息</string>
</property>
</action>
<action name="action_jysc">
<property name="text">
<string>系列讲义生成</string>
</property>
</action>
<action name="action_hqth">
<property name="text">
<string>获取题号</string>
</property>
</action>
<action name="action_mtpx">
<property name="text">
<string>mathpix预处理</string>
</property>
</action>
<action name="action_dqsz">
<property name="text">
<string>括号数字变为带圈数字</string>
</property>
</action>
<action name="action_dxtk">
<property name="text">
<string>多选转填空</string>
</property>
</action>
<action name="action_LaTeXedit">
<property name="text">
<string>LaTeX</string>
</property>
</action>
<action name="action_jsonedit">
<property name="text">
<string>json</string>
</property>
</action>
</widget>
<resources/>
<connections/>
</ui>

183
工具v2/Ui_Qt面板.py Normal file
View File

@ -0,0 +1,183 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file 'Qt面板.ui'
##
## Created by: Qt User Interface Compiler version 6.6.2
##
## WARNING! All changes made in this file will be lost when recompiling UI file!
################################################################################
from PySide6.QtCore import (QCoreApplication, QDate, QDateTime, QLocale,
QMetaObject, QObject, QPoint, QRect,
QSize, QTime, QUrl, Qt)
from PySide6.QtGui import (QAction, QBrush, QColor, QConicalGradient,
QCursor, QFont, QFontDatabase, QGradient,
QIcon, QImage, QKeySequence, QLinearGradient,
QPainter, QPalette, QPixmap, QRadialGradient,
QTransform)
from PySide6.QtWidgets import (QApplication, QMainWindow, QMenu, QMenuBar,
QSizePolicy, QStatusBar, QWidget)
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(426, 330)
self.action_kxth = QAction(MainWindow)
self.action_kxth.setObjectName(u"action_kxth")
self.action_xtbd = QAction(MainWindow)
self.action_xtbd.setObjectName(u"action_xtbd")
self.action_plsl = QAction(MainWindow)
self.action_plsl.setObjectName(u"action_plsl")
self.action_tjgl = QAction(MainWindow)
self.action_tjgl.setObjectName(u"action_tjgl")
self.action_tjzd = QAction(MainWindow)
self.action_tjzd.setObjectName(u"action_tjzd")
self.action_xxdr = QAction(MainWindow)
self.action_xxdr.setObjectName(u"action_xxdr")
self.action_sddr = QAction(MainWindow)
self.action_sddr.setObjectName(u"action_sddr")
self.action_tkdr = QAction(MainWindow)
self.action_tkdr.setObjectName(u"action_tkdr")
self.action_hbsy = QAction(MainWindow)
self.action_hbsy.setObjectName(u"action_hbsy")
self.action_dygg = QAction(MainWindow)
self.action_dygg.setObjectName(u"action_dygg")
self.action_tqda = QAction(MainWindow)
self.action_tqda.setObjectName(u"action_tqda")
self.action_sxth = QAction(MainWindow)
self.action_sxth.setObjectName(u"action_sxth")
self.action_xtby = QAction(MainWindow)
self.action_xtby.setObjectName(u"action_xtby")
self.action_sctp = QAction(MainWindow)
self.action_sctp.setObjectName(u"action_sctp")
self.action_tjjc = QAction(MainWindow)
self.action_tjjc.setObjectName(u"action_tjjc")
self.action_jglr = QAction(MainWindow)
self.action_jglr.setObjectName(u"action_jglr")
self.action_dtdy = QAction(MainWindow)
self.action_dtdy.setObjectName(u"action_dtdy")
self.action_jysc = QAction(MainWindow)
self.action_jysc.setObjectName(u"action_jysc")
self.action_hqth = QAction(MainWindow)
self.action_hqth.setObjectName(u"action_hqth")
self.action_mtpx = QAction(MainWindow)
self.action_mtpx.setObjectName(u"action_mtpx")
self.action_dqsz = QAction(MainWindow)
self.action_dqsz.setObjectName(u"action_dqsz")
self.action_dxtk = QAction(MainWindow)
self.action_dxtk.setObjectName(u"action_dxtk")
self.action_LaTeXedit = QAction(MainWindow)
self.action_LaTeXedit.setObjectName(u"action_LaTeXedit")
self.action_jsonedit = QAction(MainWindow)
self.action_jsonedit.setObjectName(u"action_jsonedit")
self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 426, 22))
self.menu_luru = QMenu(self.menubar)
self.menu_luru.setObjectName(u"menu_luru")
self.menu_weihu = QMenu(self.menubar)
self.menu_weihu.setObjectName(u"menu_weihu")
self.menu = QMenu(self.menu_weihu)
self.menu.setObjectName(u"menu")
self.menu_shiyong = QMenu(self.menubar)
self.menu_shiyong.setObjectName(u"menu_shiyong")
self.menu_beikezu = QMenu(self.menubar)
self.menu_beikezu.setObjectName(u"menu_beikezu")
self.menu_latex = QMenu(self.menubar)
self.menu_latex.setObjectName(u"menu_latex")
self.menu_exit = QMenu(self.menubar)
self.menu_exit.setObjectName(u"menu_exit")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar")
MainWindow.setStatusBar(self.statusbar)
self.menubar.addAction(self.menu_luru.menuAction())
self.menubar.addAction(self.menu_weihu.menuAction())
self.menubar.addAction(self.menu_shiyong.menuAction())
self.menubar.addAction(self.menu_beikezu.menuAction())
self.menubar.addAction(self.menu_latex.menuAction())
self.menubar.addAction(self.menu_exit.menuAction())
self.menu_luru.addAction(self.action_kxth)
self.menu_luru.addSeparator()
self.menu_luru.addAction(self.action_xtbd)
self.menu_luru.addAction(self.action_plsl)
self.menu_luru.addSeparator()
self.menu_luru.addAction(self.action_tjgl)
self.menu_weihu.addAction(self.action_tjzd)
self.menu_weihu.addSeparator()
self.menu_weihu.addAction(self.menu.menuAction())
self.menu_weihu.addSeparator()
self.menu_weihu.addAction(self.action_xxdr)
self.menu_weihu.addAction(self.action_sddr)
self.menu_weihu.addAction(self.action_tkdr)
self.menu_weihu.addSeparator()
self.menu_weihu.addAction(self.action_dygg)
self.menu_weihu.addSeparator()
self.menu_weihu.addAction(self.action_tqda)
self.menu_weihu.addSeparator()
self.menu_weihu.addAction(self.action_hbsy)
self.menu_weihu.addSeparator()
self.menu_weihu.addAction(self.action_tjjc)
self.menu.addAction(self.action_LaTeXedit)
self.menu.addAction(self.action_jsonedit)
self.menu_shiyong.addAction(self.action_sxth)
self.menu_shiyong.addSeparator()
self.menu_shiyong.addAction(self.action_xtby)
self.menu_shiyong.addSeparator()
self.menu_shiyong.addAction(self.action_sctp)
self.menu_shiyong.addSeparator()
self.menu_shiyong.addAction(self.action_hqth)
self.menu_beikezu.addAction(self.action_jglr)
self.menu_beikezu.addAction(self.action_dtdy)
self.menu_beikezu.addSeparator()
self.menu_beikezu.addAction(self.action_jysc)
self.menu_latex.addAction(self.action_mtpx)
self.menu_latex.addAction(self.action_dqsz)
self.menu_latex.addAction(self.action_dxtk)
self.retranslateUi(MainWindow)
QMetaObject.connectSlotsByName(MainWindow)
# setupUi
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"\u9898\u5e93\u5de5\u5177\u9762\u677f(PyQt)-20240301", None))
self.action_kxth.setText(QCoreApplication.translate("MainWindow", u"\u5bfb\u627e\u7a7a\u95f2\u9898\u53f7", None))
self.action_xtbd.setText(QCoreApplication.translate("MainWindow", u"\u65b0\u9898\u6bd4\u5bf9", None))
self.action_plsl.setText(QCoreApplication.translate("MainWindow", u"\u6279\u91cf\u6536\u5f55\u65b0\u9898", None))
self.action_tjgl.setText(QCoreApplication.translate("MainWindow", u"\u6dfb\u52a0\u5173\u8054\u9898\u76ee", None))
self.action_tjzd.setText(QCoreApplication.translate("MainWindow", u"\u6279\u91cf\u6dfb\u52a0\u5b57\u6bb5\u6570\u636e", None))
self.action_xxdr.setText(QCoreApplication.translate("MainWindow", u"\u5c0f\u95f2\u4f7f\u7528\u8bb0\u5f55\u5bfc\u5165", None))
self.action_sddr.setText(QCoreApplication.translate("MainWindow", u"\u624b\u52a8\u4f7f\u7528\u8bb0\u5f55\u5bfc\u5165", None))
self.action_tkdr.setText(QCoreApplication.translate("MainWindow", u"\u7edf\u8003\u4f7f\u7528\u8bb0\u5f55\u5bfc\u5165", None))
self.action_hbsy.setText(QCoreApplication.translate("MainWindow", u"\u5408\u5e76\u4f7f\u7528\u8bb0\u5f55\u5e76\u6392\u5e8f", None))
self.action_dygg.setText(QCoreApplication.translate("MainWindow", u"\u5355\u5143\u6302\u94a9", None))
self.action_tqda.setText(QCoreApplication.translate("MainWindow", u"\u63d0\u53d6\u7b54\u6848", None))
self.action_sxth.setText(QCoreApplication.translate("MainWindow", u"\u5173\u952e\u5b57\u7b5b\u9009\u9898\u53f7", None))
self.action_xtby.setText(QCoreApplication.translate("MainWindow", u"\u9009\u9898\u7f16\u8bd1", None))
self.action_sctp.setText(QCoreApplication.translate("MainWindow", u"\u9898\u53f7\u751f\u6210\u56fe\u7247", None))
self.action_tjjc.setText(QCoreApplication.translate("MainWindow", u"\u6dfb\u52a0\u57fa\u7840\u77e5\u8bc6\u68b3\u7406", None))
self.action_jglr.setText(QCoreApplication.translate("MainWindow", u"\u8bb2\u4e49\u7ed3\u6784\u7f16\u53f7\u5f55\u5165", None))
self.action_dtdy.setText(QCoreApplication.translate("MainWindow", u"\u5f55\u5165\u7b54\u9898\u7eb8\u5bf9\u5e94\u4fe1\u606f", None))
self.action_jysc.setText(QCoreApplication.translate("MainWindow", u"\u7cfb\u5217\u8bb2\u4e49\u751f\u6210", None))
self.action_hqth.setText(QCoreApplication.translate("MainWindow", u"\u83b7\u53d6\u9898\u53f7", None))
self.action_mtpx.setText(QCoreApplication.translate("MainWindow", u"mathpix\u9884\u5904\u7406", None))
self.action_dqsz.setText(QCoreApplication.translate("MainWindow", u"\u62ec\u53f7\u6570\u5b57\u53d8\u4e3a\u5e26\u5708\u6570\u5b57", None))
self.action_dxtk.setText(QCoreApplication.translate("MainWindow", u"\u591a\u9009\u8f6c\u586b\u7a7a", None))
self.action_LaTeXedit.setText(QCoreApplication.translate("MainWindow", u"LaTeX", None))
self.action_jsonedit.setText(QCoreApplication.translate("MainWindow", u"json", None))
self.menu_luru.setTitle(QCoreApplication.translate("MainWindow", u"\u5f55\u5165", None))
self.menu_weihu.setTitle(QCoreApplication.translate("MainWindow", u"\u7ef4\u62a4", None))
self.menu.setTitle(QCoreApplication.translate("MainWindow", u"\u7f16\u8f91\u9898\u76ee", None))
self.menu_shiyong.setTitle(QCoreApplication.translate("MainWindow", u"\u4f7f\u7528", None))
self.menu_beikezu.setTitle(QCoreApplication.translate("MainWindow", u"\u5907\u8bfe\u7ec4", None))
self.menu_latex.setTitle(QCoreApplication.translate("MainWindow", u"LaTeX\u4ee3\u7801\u76f8\u5173", None))
self.menu_exit.setTitle(QCoreApplication.translate("MainWindow", u"\u9000\u51fa", None))
# retranslateUi