新增 赋能卷生成 功能并加入面板

This commit is contained in:
weiye.wang 2024-05-03 23:18:32 +08:00
parent 4934e2df3e
commit d517694b23
7 changed files with 701 additions and 6 deletions

View File

@ -114,6 +114,9 @@ class Ui_MainWindow(object):
self.tab_jysc = QWidget()
self.tab_jysc.setObjectName(u"tab_jysc")
self.tabWidget_beikezu.addTab(self.tab_jysc, "")
self.tab_fnsc = QWidget()
self.tab_fnsc.setObjectName(u"tab_fnsc")
self.tabWidget_beikezu.addTab(self.tab_fnsc, "")
self.tabWidget_main.addTab(self.tab_beikezu, "")
self.tab_latex = QWidget()
self.tab_latex.setObjectName(u"tab_latex")
@ -205,11 +208,11 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
self.tabWidget_main.setCurrentIndex(2)
self.tabWidget_main.setCurrentIndex(3)
self.tabWidget_luru.setCurrentIndex(0)
self.tabWidget_weihu.setCurrentIndex(0)
self.tabWidget_shiyong.setCurrentIndex(5)
self.tabWidget_beikezu.setCurrentIndex(0)
self.tabWidget_beikezu.setCurrentIndex(3)
self.tabWidget_latex.setCurrentIndex(0)
self.tabWidget_mubiaojichu.setCurrentIndex(0)
self.tabWidget_syjl.setCurrentIndex(0)
@ -239,6 +242,7 @@ class Ui_MainWindow(object):
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_jglr), QCoreApplication.translate("MainWindow", u"\u8bb2\u4e49\u7ed3\u6784\u7f16\u53f7\u5f55\u5165", None))
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_dtlr), QCoreApplication.translate("MainWindow", u"\u7b54\u9898\u7eb8\u5bf9\u5e94\u4fe1\u606f\u5f55\u5165", None))
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_jysc), QCoreApplication.translate("MainWindow", u"\u7cfb\u5217\u8bb2\u4e49\u751f\u6210", None))
self.tabWidget_beikezu.setTabText(self.tabWidget_beikezu.indexOf(self.tab_fnsc), QCoreApplication.translate("MainWindow", u"\u8d4b\u80fd\u5377\u751f\u6210", None))
self.tabWidget_main.setTabText(self.tabWidget_main.indexOf(self.tab_beikezu), QCoreApplication.translate("MainWindow", u"\u5907\u8bfe\u7ec4", None))
self.tabWidget_latex.setTabText(self.tabWidget_latex.indexOf(self.tab_wbzh), QCoreApplication.translate("MainWindow", u"\u6587\u672c\u8f6c\u6362\u5904\u7406", None))
self.tabWidget_latex.setTabText(self.tabWidget_latex.indexOf(self.tab_hist), QCoreApplication.translate("MainWindow", u"\u76f4\u65b9\u56fe\u4ee3\u7801\u751f\u6210", None))

View File

@ -0,0 +1,252 @@
# -*- coding: utf-8 -*-
################################################################################
## Form generated from reading UI file '赋能卷生成.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 (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QCheckBox, QHBoxLayout, QLabel,
QLineEdit, QPlainTextEdit, QPushButton, QRadioButton,
QSizePolicy, QVBoxLayout, QWidget)
class Ui_Form(object):
def setupUi(self, Form):
if not Form.objectName():
Form.setObjectName(u"Form")
Form.resize(760, 490)
self.verticalLayoutWidget = QWidget(Form)
self.verticalLayoutWidget.setObjectName(u"verticalLayoutWidget")
self.verticalLayoutWidget.setGeometry(QRect(20, 70, 161, 301))
self.verticalLayout = QVBoxLayout(self.verticalLayoutWidget)
self.verticalLayout.setObjectName(u"verticalLayout")
self.verticalLayout.setContentsMargins(0, 0, 0, 0)
self.checkBox_unit1 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit1.setObjectName(u"checkBox_unit1")
self.verticalLayout.addWidget(self.checkBox_unit1)
self.checkBox_unit2 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit2.setObjectName(u"checkBox_unit2")
self.verticalLayout.addWidget(self.checkBox_unit2)
self.checkBox_unit3 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit3.setObjectName(u"checkBox_unit3")
self.verticalLayout.addWidget(self.checkBox_unit3)
self.checkBox_unit4 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit4.setObjectName(u"checkBox_unit4")
self.verticalLayout.addWidget(self.checkBox_unit4)
self.checkBox_unit5 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit5.setObjectName(u"checkBox_unit5")
self.verticalLayout.addWidget(self.checkBox_unit5)
self.checkBox_unit6 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit6.setObjectName(u"checkBox_unit6")
self.verticalLayout.addWidget(self.checkBox_unit6)
self.checkBox_unit7 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit7.setObjectName(u"checkBox_unit7")
self.verticalLayout.addWidget(self.checkBox_unit7)
self.checkBox_unit8 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit8.setObjectName(u"checkBox_unit8")
self.verticalLayout.addWidget(self.checkBox_unit8)
self.checkBox_unit9 = QCheckBox(self.verticalLayoutWidget)
self.checkBox_unit9.setObjectName(u"checkBox_unit9")
self.verticalLayout.addWidget(self.checkBox_unit9)
self.horizontalLayout = QHBoxLayout()
self.horizontalLayout.setObjectName(u"horizontalLayout")
self.pushButton_sel_all = QPushButton(self.verticalLayoutWidget)
self.pushButton_sel_all.setObjectName(u"pushButton_sel_all")
self.horizontalLayout.addWidget(self.pushButton_sel_all)
self.pushButton_sel_rev = QPushButton(self.verticalLayoutWidget)
self.pushButton_sel_rev.setObjectName(u"pushButton_sel_rev")
self.horizontalLayout.addWidget(self.pushButton_sel_rev)
self.verticalLayout.addLayout(self.horizontalLayout)
self.verticalLayoutWidget_2 = QWidget(Form)
self.verticalLayoutWidget_2.setObjectName(u"verticalLayoutWidget_2")
self.verticalLayoutWidget_2.setGeometry(QRect(210, 70, 121, 251))
self.verticalLayout_2 = QVBoxLayout(self.verticalLayoutWidget_2)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.verticalLayout_2.setContentsMargins(0, 0, 0, 0)
self.label = QLabel(self.verticalLayoutWidget_2)
self.label.setObjectName(u"label")
self.verticalLayout_2.addWidget(self.label)
self.lineEdit_tiankongcount = QLineEdit(self.verticalLayoutWidget_2)
self.lineEdit_tiankongcount.setObjectName(u"lineEdit_tiankongcount")
self.verticalLayout_2.addWidget(self.lineEdit_tiankongcount)
self.label_2 = QLabel(self.verticalLayoutWidget_2)
self.label_2.setObjectName(u"label_2")
self.verticalLayout_2.addWidget(self.label_2)
self.lineEdit_xuanzecount = QLineEdit(self.verticalLayoutWidget_2)
self.lineEdit_xuanzecount.setObjectName(u"lineEdit_xuanzecount")
self.verticalLayout_2.addWidget(self.lineEdit_xuanzecount)
self.label_3 = QLabel(self.verticalLayoutWidget_2)
self.label_3.setObjectName(u"label_3")
self.verticalLayout_2.addWidget(self.label_3)
self.lineEdit_diff_lowerbound = QLineEdit(self.verticalLayoutWidget_2)
self.lineEdit_diff_lowerbound.setObjectName(u"lineEdit_diff_lowerbound")
self.verticalLayout_2.addWidget(self.lineEdit_diff_lowerbound)
self.label_4 = QLabel(self.verticalLayoutWidget_2)
self.label_4.setObjectName(u"label_4")
self.verticalLayout_2.addWidget(self.label_4)
self.lineEdit_diff_upperbound = QLineEdit(self.verticalLayoutWidget_2)
self.lineEdit_diff_upperbound.setObjectName(u"lineEdit_diff_upperbound")
self.verticalLayout_2.addWidget(self.lineEdit_diff_upperbound)
self.verticalLayoutWidget_3 = QWidget(Form)
self.verticalLayoutWidget_3.setObjectName(u"verticalLayoutWidget_3")
self.verticalLayoutWidget_3.setGeometry(QRect(360, 70, 131, 171))
self.verticalLayout_3 = QVBoxLayout(self.verticalLayoutWidget_3)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.verticalLayout_3.setContentsMargins(0, 0, 0, 0)
self.label_5 = QLabel(self.verticalLayoutWidget_3)
self.label_5.setObjectName(u"label_5")
sizePolicy = QSizePolicy(QSizePolicy.Policy.Preferred, QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.label_5.sizePolicy().hasHeightForWidth())
self.label_5.setSizePolicy(sizePolicy)
self.label_5.setMaximumSize(QSize(16777215, 16777215))
self.verticalLayout_3.addWidget(self.label_5)
self.radioButton_min = QRadioButton(self.verticalLayoutWidget_3)
self.radioButton_min.setObjectName(u"radioButton_min")
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Fixed)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.radioButton_min.sizePolicy().hasHeightForWidth())
self.radioButton_min.setSizePolicy(sizePolicy1)
self.verticalLayout_3.addWidget(self.radioButton_min)
self.radioButton_max = QRadioButton(self.verticalLayoutWidget_3)
self.radioButton_max.setObjectName(u"radioButton_max")
self.verticalLayout_3.addWidget(self.radioButton_max)
self.radioButton_average = QRadioButton(self.verticalLayoutWidget_3)
self.radioButton_average.setObjectName(u"radioButton_average")
self.verticalLayout_3.addWidget(self.radioButton_average)
self.radioButton_median = QRadioButton(self.verticalLayoutWidget_3)
self.radioButton_median.setObjectName(u"radioButton_median")
self.verticalLayout_3.addWidget(self.radioButton_median)
self.pushButton_exec = QPushButton(Form)
self.pushButton_exec.setObjectName(u"pushButton_exec")
self.pushButton_exec.setGeometry(QRect(520, 70, 201, 41))
font = QFont()
font.setBold(True)
self.pushButton_exec.setFont(font)
self.label_6 = QLabel(Form)
self.label_6.setObjectName(u"label_6")
self.label_6.setGeometry(QRect(360, 260, 54, 16))
self.lineEdit_papercount = QLineEdit(Form)
self.lineEdit_papercount.setObjectName(u"lineEdit_papercount")
self.lineEdit_papercount.setGeometry(QRect(420, 260, 71, 20))
self.plainTextEdit_output = QPlainTextEdit(Form)
self.plainTextEdit_output.setObjectName(u"plainTextEdit_output")
self.plainTextEdit_output.setGeometry(QRect(520, 140, 201, 221))
self.label_7 = QLabel(Form)
self.label_7.setObjectName(u"label_7")
self.label_7.setGeometry(QRect(360, 290, 81, 16))
self.lineEdit_threshold = QLineEdit(Form)
self.lineEdit_threshold.setObjectName(u"lineEdit_threshold")
self.lineEdit_threshold.setGeometry(QRect(450, 290, 41, 20))
self.label_8 = QLabel(Form)
self.label_8.setObjectName(u"label_8")
self.label_8.setGeometry(QRect(520, 120, 54, 16))
self.label_9 = QLabel(Form)
self.label_9.setObjectName(u"label_9")
self.label_9.setGeometry(QRect(360, 320, 54, 16))
self.lineEdit_grade = QLineEdit(Form)
self.lineEdit_grade.setObjectName(u"lineEdit_grade")
self.lineEdit_grade.setGeometry(QRect(420, 320, 71, 20))
self.lineEdit_grade.setMaxLength(4)
self.retranslateUi(Form)
QMetaObject.connectSlotsByName(Form)
# setupUi
def retranslateUi(self, Form):
Form.setWindowTitle(QCoreApplication.translate("Form", u"\u8d4b\u80fd\u5377\u751f\u6210", None))
self.checkBox_unit1.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e00\u5355\u5143 \u57fa\u672c\u77e5\u8bc6", None))
self.checkBox_unit2.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e8c\u5355\u5143 \u51fd\u6570", None))
self.checkBox_unit3.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e09\u5355\u5143 \u4e09\u89d2", None))
self.checkBox_unit4.setText(QCoreApplication.translate("Form", u"\u7b2c\u56db\u5355\u5143 \u6570\u5217", None))
self.checkBox_unit5.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e94\u5355\u5143 \u5e73\u9762\u5411\u91cf\u4e0e\u590d\u6570", None))
self.checkBox_unit6.setText(QCoreApplication.translate("Form", u"\u7b2c\u516d\u5355\u5143 \u7acb\u4f53\u51e0\u4f55", None))
self.checkBox_unit7.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e03\u5355\u5143 \u89e3\u6790\u51e0\u4f55", None))
self.checkBox_unit8.setText(QCoreApplication.translate("Form", u"\u7b2c\u516b\u5355\u5143 \u8ba1\u6570\u4e0e\u6982\u7387", None))
self.checkBox_unit9.setText(QCoreApplication.translate("Form", u"\u7b2c\u4e5d\u5355\u5143 \u7edf\u8ba1", None))
self.pushButton_sel_all.setText(QCoreApplication.translate("Form", u"\u5168\u9009", None))
self.pushButton_sel_rev.setText(QCoreApplication.translate("Form", u"\u53cd\u9009", None))
self.label.setText(QCoreApplication.translate("Form", u"\u586b\u7a7a\u9898\u6570\u91cf", None))
self.label_2.setText(QCoreApplication.translate("Form", u"\u9009\u62e9\u9898\u6570\u91cf", None))
self.label_3.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u4e0b\u754c", None))
self.label_4.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u4e0a\u754c", None))
self.label_5.setText(QCoreApplication.translate("Form", u"\u4f7f\u7528\u96be\u5ea6\u7684\u54ea\u4e2a\u6570\u636e", None))
self.radioButton_min.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u6700\u5c0f\u503c", None))
self.radioButton_max.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u6700\u5927\u503c", None))
self.radioButton_average.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u5e73\u5747\u6570", None))
self.radioButton_median.setText(QCoreApplication.translate("Form", u"\u96be\u5ea6\u4e2d\u4f4d\u6570", None))
self.pushButton_exec.setText(QCoreApplication.translate("Form", u"\u751f\u6210", None))
self.label_6.setText(QCoreApplication.translate("Form", u"\u751f\u6210\u5f20\u6570", None))
self.lineEdit_papercount.setInputMask("")
self.lineEdit_papercount.setText(QCoreApplication.translate("Form", u"1", None))
self.label_7.setText(QCoreApplication.translate("Form", u"\u76f8\u4f3c\u9608\u503c\u4e0a\u9650", None))
self.lineEdit_threshold.setText(QCoreApplication.translate("Form", u"0.65", None))
self.label_8.setText(QCoreApplication.translate("Form", u"\u8bd5\u5377\u4ee3\u7801", None))
self.label_9.setText(QCoreApplication.translate("Form", u"\u6392\u9664\u5e74\u7ea7", None))
self.lineEdit_grade.setInputMask("")
self.lineEdit_grade.setText("")
self.lineEdit_grade.setPlaceholderText(QCoreApplication.translate("Form", u"20xx", None))
# retranslateUi

View File

@ -3095,7 +3095,7 @@ def generate_diff_dict(pro_dict): #根据pro_dict的使用数据生成diff_dict
def generate_adaptive_problemIDs(pro_dict,units_list,genre_tuple,diffinterval,method="min",excludeids = None,multianswers = False, sim_threshold = 0.8): #生成能题组, genre_tuple是二元组(填空题数, 选择题数), diffinterval是二元组(难度最小值,难度最大值)
def generate_adaptive_problemIDs(pro_dict,units_list,genre_tuple,diffinterval,method="min",excludeids = None,multianswers = False, sim_threshold = 0.8): #生成能题组, genre_tuple是二元组(填空题数, 选择题数), diffinterval是二元组(难度最小值,难度最大值)
diff_dict = generate_diff_dict(pro_dict)
treated_dict = {id:pre_treating(pro_dict[id]["content"]) for id in pro_dict}
if excludeids is None:

View File

@ -30,6 +30,7 @@ from 删除使用记录 import MyWindow_scjl
from 删除课时目标关系 import MyWindow_scgx
from 新增目标关系 import MyWindow_xzgx
from 试卷列表 import MyWindow_sjlb
from 赋能卷生成 import MyWindow_fnsc
from database_tools_2 import *
class MyWindow(QMainWindow,Ui_MainWindow):
@ -162,6 +163,9 @@ class MyWindow(QMainWindow,Ui_MainWindow):
self.sjlb = MyWindow_sjlb(self.database)
self.layout_sjlb.addWidget(self.sjlb) #以上三行为初始化"试卷列表"tab
self.layout_fnsc = QVBoxLayout(self.tab_fnsc)
self.fnsc = MyWindow_fnsc(self.database)
self.layout_fnsc.addWidget(self.fnsc) #以上三行为初始化"赋能卷生成"tab
for func in [
@ -184,7 +188,8 @@ class MyWindow(QMainWindow,Ui_MainWindow):
self.scjl.setdbname,
self.scgx.setdbname,
self.xzgx.setdbname,
self.sjlb.setdbname
self.sjlb.setdbname,
self.fnsc.setdbname
]: #在列表中的tab里传送数据库名的连接
self.sendDBname.connect(func)
def sendValue(self):

View File

@ -27,7 +27,7 @@
<enum>QTabWidget::Triangular</enum>
</property>
<property name="currentIndex">
<number>2</number>
<number>3</number>
</property>
<widget class="QWidget" name="tab_luru">
<attribute name="title">
@ -192,7 +192,7 @@
<enum>QTabWidget::Triangular</enum>
</property>
<property name="currentIndex">
<number>0</number>
<number>3</number>
</property>
<widget class="QWidget" name="tab_jglr">
<attribute name="title">
@ -209,6 +209,11 @@
<string>系列讲义生成</string>
</attribute>
</widget>
<widget class="QWidget" name="tab_fnsc">
<attribute name="title">
<string>赋能卷生成</string>
</attribute>
</widget>
</widget>
</widget>
<widget class="QWidget" name="tab_latex">

View File

@ -0,0 +1,69 @@
from PySide6.QtWidgets import QWidget, QApplication, QLineEdit, QCheckBox
from Ui_赋能卷生成 import Ui_Form
from database_tools_2 import *
class MyWindow_fnsc(QWidget,Ui_Form):
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_min.setChecked(True)
self.pushButton_exec.clicked.connect(self.exec)
self.pushButton_sel_all.clicked.connect(self.selectall)
self.pushButton_sel_rev.clicked.connect(self.selectrev)
def selectall(self):
for self.checkbox in self.findChildren(QCheckBox):
self.checkbox.setChecked(True)
def selectrev(self):
for self.checkbox in self.findChildren(QCheckBox):
self.checkbox.setChecked(not self.checkbox.isChecked())
def exec(self):
mydb = connect(hostname = db_host, port = db_port, username=db_user, pwd=db_pwd, db = self.database_name)
mycursor = mydb.cursor()
pro_dict,obj_dict,bn_dict,unit_obj_dict = generateDictsfromMariaDB(mycursor)
mydb.close()
units_list = []
for self.checkbox in self.findChildren(QCheckBox):
if self.checkbox.isChecked():
units_list.append(self.checkbox.text()[:4])
genre_tuple = (int(self.lineEdit_tiankongcount.text()),int(self.lineEdit_xuanzecount.text()))
diffinterval = (float(self.lineEdit_diff_lowerbound.text()),float(self.lineEdit_diff_upperbound.text()))
if self.radioButton_min.isChecked():
method = "min"
elif self.radioButton_max.isChecked():
method = "max"
elif self.radioButton_average.isChecked():
method = "average"
elif self.radioButton_median.isChecked():
method = "median"
sim_threshold = float(self.lineEdit_threshold.text())
excludeids = findxiaobenIDs("../备课组",grade = self.lineEdit_grade.text())
papercount = int(self.lineEdit_papercount.text())
output = ""
for i in range(papercount):
tiankongids, xuanzeids = generate_adaptive_problemIDs(pro_dict=pro_dict,units_list=units_list,genre_tuple=genre_tuple,diffinterval=diffinterval,method=method,excludeids=excludeids,sim_threshold=sim_threshold)
idstr = ",".join(tiankongids+xuanzeids)
output += f"赋能{(i+1):2d}: {idstr}\n"
self.plainTextEdit_output.setPlainText(output)
if __name__ == '__main__':
app = QApplication([])
windows = MyWindow_fnsc("tikutest")
windows.show()
app.exec()

360
工具v4/赋能卷生成.ui Normal file
View File

@ -0,0 +1,360 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>760</width>
<height>490</height>
</rect>
</property>
<property name="windowTitle">
<string>赋能卷生成</string>
</property>
<widget class="QWidget" name="verticalLayoutWidget">
<property name="geometry">
<rect>
<x>20</x>
<y>70</y>
<width>161</width>
<height>301</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QCheckBox" name="checkBox_unit1">
<property name="text">
<string>第一单元 基本知识</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit2">
<property name="text">
<string>第二单元 函数</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit3">
<property name="text">
<string>第三单元 三角</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit4">
<property name="text">
<string>第四单元 数列</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit5">
<property name="text">
<string>第五单元 平面向量与复数</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit6">
<property name="text">
<string>第六单元 立体几何</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit7">
<property name="text">
<string>第七单元 解析几何</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit8">
<property name="text">
<string>第八单元 计数与概率</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBox_unit9">
<property name="text">
<string>第九单元 统计</string>
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QPushButton" name="pushButton_sel_all">
<property name="text">
<string>全选</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_sel_rev">
<property name="text">
<string>反选</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="verticalLayoutWidget_2">
<property name="geometry">
<rect>
<x>210</x>
<y>70</y>
<width>121</width>
<height>251</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>填空题数量</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_tiankongcount"/>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>选择题数量</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_xuanzecount"/>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>难度下界</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_diff_lowerbound"/>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>难度上界</string>
</property>
</widget>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_diff_upperbound"/>
</item>
</layout>
</widget>
<widget class="QWidget" name="verticalLayoutWidget_3">
<property name="geometry">
<rect>
<x>360</x>
<y>70</y>
<width>131</width>
<height>171</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_5">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>使用难度的哪个数据</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_min">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>难度最小值</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_max">
<property name="text">
<string>难度最大值</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_average">
<property name="text">
<string>难度平均数</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_median">
<property name="text">
<string>难度中位数</string>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QPushButton" name="pushButton_exec">
<property name="geometry">
<rect>
<x>520</x>
<y>70</y>
<width>201</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>生成</string>
</property>
</widget>
<widget class="QLabel" name="label_6">
<property name="geometry">
<rect>
<x>360</x>
<y>260</y>
<width>54</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>生成张数</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit_papercount">
<property name="geometry">
<rect>
<x>420</x>
<y>260</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="inputMask">
<string/>
</property>
<property name="text">
<string>1</string>
</property>
</widget>
<widget class="QPlainTextEdit" name="plainTextEdit_output">
<property name="geometry">
<rect>
<x>520</x>
<y>140</y>
<width>201</width>
<height>221</height>
</rect>
</property>
</widget>
<widget class="QLabel" name="label_7">
<property name="geometry">
<rect>
<x>360</x>
<y>290</y>
<width>81</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>相似阈值上限</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit_threshold">
<property name="geometry">
<rect>
<x>450</x>
<y>290</y>
<width>41</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>0.65</string>
</property>
</widget>
<widget class="QLabel" name="label_8">
<property name="geometry">
<rect>
<x>520</x>
<y>120</y>
<width>54</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>试卷代码</string>
</property>
</widget>
<widget class="QLabel" name="label_9">
<property name="geometry">
<rect>
<x>360</x>
<y>320</y>
<width>54</width>
<height>16</height>
</rect>
</property>
<property name="text">
<string>排除年级</string>
</property>
</widget>
<widget class="QLineEdit" name="lineEdit_grade">
<property name="geometry">
<rect>
<x>420</x>
<y>320</y>
<width>71</width>
<height>20</height>
</rect>
</property>
<property name="inputMask">
<string/>
</property>
<property name="text">
<string/>
</property>
<property name="maxLength">
<number>4</number>
</property>
<property name="placeholderText">
<string>20xx</string>
</property>
</widget>
</widget>
<resources/>
<connections/>
</ui>