Beispiel #1
0
    def llenarTablaRestr(self):
        self.tablaRestricciones.clear()
        self.tablaRestricciones.setRowCount(self.numRestricciones)
        self.tablaRestricciones.setColumnCount(self.numVariables)
        for j in range(self.numVariables):
            item1 = QTableWidgetItem(f"X{j+1}")
            item1.setBackground(QtGui.QColor(37, 40, 80))
            item1.setForeground(QtGui.QColor(255, 255, 255))
            self.tablaRestricciones.setHorizontalHeaderItem(j, item1)

        for i in range(self.numVariables, self.numVariables + 2):
            item = QTableWidgetItem(" ")
            self.tablaRestricciones.insertColumn(i)
            item.setBackground(QtGui.QColor(37, 40, 80))
            item.setForeground(QtGui.QColor(255, 255, 255))
            self.tablaRestricciones.setHorizontalHeaderItem(i, item)

        fila = 0
        colum = self.numVariables

        for j in range(self.numRestricciones):
            self.cmbSigno = QComboBox()
            self.cmbSigno.addItem("<=")
            self.tablaRestricciones.setCellWidget(fila, colum, self.cmbSigno)
            fila += 1
Beispiel #2
0
 def pintarPivote(self):
     fila = self.variableSalida()  # ubicacion de la variable de salida
     col = self.variableEntrada()  # ubicacion de la variable de entrada
     pivote = self.tablaU.item(fila, col).text()
     item = QTableWidgetItem(str(pivote))
     item.setBackground(QtGui.QColor(244, 67, 54))
     self.tablaU.setItem(fila, col, item)
Beispiel #3
0
    def llenarTablaRestr(self):
        self.tablaRestricciones.clear()
        self.tablaRestricciones.setRowCount(self.numRestricciones)
        self.tablaRestricciones.setColumnCount(self.numVariables)
        for j in range(self.numVariables):
            item1 = QTableWidgetItem(f"X{j+1}")
            item1.setBackground(QtGui.QColor(0, 153, 153))
            self.tablaRestricciones.setHorizontalHeaderItem(j, item1)

        for i in range(self.numVariables, self.numVariables + 2):
            item = QTableWidgetItem(" ")
            self.tablaRestricciones.insertColumn(i)
            item.setBackground(QtGui.QColor(0, 153, 153))
            self.tablaRestricciones.setHorizontalHeaderItem(i, item)

        fila = 0
        colum = self.numVariables
        cmbMeth = self.comboMetodo
        for j in range(self.numRestricciones):
            self.cmbSigno = QComboBox()
            self.cmbSigno.addItem("<=")
            if cmbMeth.currentIndex() == 1:
                self.cmbSigno.addItem(">=")
                self.cmbSigno.addItem("=")
            self.tablaRestricciones.setCellWidget(fila, colum, self.cmbSigno)

            fila += 1
 def getProblems(self):
     self.remindLabel.setVisible(False)
     self.recommendLabel.setVisible(False)
     self.newrecord.setVisible(False)
     self.table.setVisible(True)
     self.aboutcontent.setVisible(False)
     print('heregetproblem')
     self.connection = sqlite3.connect("database/oj.db")
     Data = self.connection.execute(
         "SELECT id,name,level,tags,AC,ACrate FROM problem Order By id")
     self.connection.commit()
     Data = Data.fetchall()
     row = len(Data)  #取得记录个数,用于设置表格的行数
     vol = len(Data[0])  #取得字段数,用于设置表格的列数
     print(row)
     print(vol)
     self.table.setRowCount(row)
     self.table.setColumnCount(vol)
     self.table.setHorizontalHeaderLabels(
         ['编号', '题目名字', '题目等级', '题目标签', 'AC人数', 'AC率'])
     self.table.verticalHeader().setVisible(False)
     #        self.table.horizontalHeader().setVisible(False)
     self.table.horizontalHeader().setFixedHeight(25)
     for index in range(self.table.columnCount()):
         headItem = self.table.horizontalHeaderItem(index)
         #            headItem.setBackground(QBrush(QColor(28, 28, 28)))
         headItem.setFont(QFont("song", 9, QFont.Bold))
         headItem.setForeground(QBrush(QColor(137, 199, 161)))
         headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
     self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
     self.table.setColumnWidth(0, 40)
     self.table.setColumnWidth(1, 80)
     self.table.setColumnWidth(2, 90)
     self.table.setColumnWidth(3, 230)
     self.table.setColumnWidth(4, 50)
     self.table.setColumnWidth(5, 85)
     self.table.setRowHeight(0, 30)
     self.table.setRowHeight(1, 30)
     self.table.setRowHeight(2, 30)
     self.table.setRowHeight(3, 30)
     self.table.setRowHeight(4, 30)
     self.table.setRowHeight(5, 30)
     self.table.setRowHeight(6, 30)
     self.table.setRowHeight(7, 30)
     self.table.setRowHeight(8, 30)
     self.table.setRowHeight(9, 30)
     for i in range(row):
         if i % 2 == 0:
             for j in range(vol):
                 temp_data = Data[i][j]  #临时记录,不能直接插入表格
                 data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                 data.setBackground(QBrush(QColor(245, 245, 244)))
                 self.table.setItem(i, j, data)
         else:
             for j in range(vol):
                 temp_data = Data[i][j]  #临时记录,不能直接插入表格
                 data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                 data.setBackground(QBrush(QColor(254, 254, 254)))
                 self.table.setItem(i, j, data)
Beispiel #5
0
 def llenarTablaVar(self):
     self.tablaVariables.clear()
     self.tablaVariables.setRowCount(1)
     self.tablaVariables.setColumnCount(self.numVariables)
     for i in range(self.numVariables):
         item1 = QTableWidgetItem(f"X{i+1}")
         item1.setBackground(QtGui.QColor(0, 153, 153))
         self.tablaVariables.setHorizontalHeaderItem(i, item1)
 def addbutton(self):
     self.connection = sqlite3.connect("database/oj.db")
     f = open(r'database/username.txt')
     username = f.read()
     f.close()
     topTen = self.connection.execute(
         "SELECT user1,user2,user3,user4,user5,user6,user7,user8,user9,user10 FROM secondrecommend WHERE username = '******'"
         % username)
     #        print(topTen)
     self.connection.commit()
     #        print(Data)
     topTen = topTen.fetchall()
     self.table.setRowCount(10)
     self.table.setColumnCount(6)
     self.table.setHorizontalHeaderLabels(
         ['编号', '题目名字', '题目等级', '题目标签', 'AC率', 'AC人数'])
     self.table.verticalHeader().setVisible(False)
     self.table.horizontalHeader().setFixedHeight(25)
     for index in range(self.table.columnCount()):
         headItem = self.table.horizontalHeaderItem(index)
         headItem.setFont(QFont("song", 9, QFont.Bold))
         headItem.setForeground(QBrush(QColor(137, 199, 161)))
         headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
     self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
     self.table.setColumnWidth(0, 40)
     self.table.setColumnWidth(1, 120)
     self.table.setColumnWidth(2, 90)
     self.table.setColumnWidth(3, 186)
     self.table.setColumnWidth(4, 98)
     self.table.setColumnWidth(5, 60)
     self.table.setRowHeight(0, 38)
     self.table.setRowHeight(1, 38)
     self.table.setRowHeight(2, 38)
     self.table.setRowHeight(3, 38)
     self.table.setRowHeight(4, 38)
     self.table.setRowHeight(5, 38)
     self.table.setRowHeight(6, 38)
     self.table.setRowHeight(7, 38)
     self.table.setRowHeight(8, 38)
     self.table.setRowHeight(9, 38)
     for i in range(10):
         Data = self.connection.execute(
             "SELECT id,name,level,tags,ACrate,AC FROM problem where id = '%s'"
             % topTen[0][i])
         Data = Data.fetchall()
         if i % 2 == 0:
             for j in range(6):
                 temp_data = Data[0][j]  #临时记录,不能直接插入表格
                 data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                 data.setBackground(QBrush(QColor(245, 245, 244)))
                 self.table.setItem(i, j, data)
         else:
             for j in range(6):
                 temp_data = Data[0][j]  #临时记录,不能直接插入表格
                 data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                 data.setBackground(QBrush(QColor(254, 254, 254)))
                 self.table.setItem(i, j, data)
Beispiel #7
0
 def addGroupe (self,groupe_name,type_alert):
     item_name =QTableWidgetItem(groupe_name)
     item_type =QTableWidgetItem(type_alert)
     if item_type == "delete":
         item_name.setBackground(QBrush("red"))
         item_type.setBackground(QBrush("red"))
     elif item_type == "new":
         item_name.setBackground(QBrush("green"))
         item_type.setBackground(QBrush("green"))    
     self.list_modified_groupes.insertRow(0)
     self.list_modified_groupes.setItem(0,0,item_name)
     self.list_modified_groupes.setItem(0,1,item_type)
 def getRecord(self):
     self.remindLabel.setVisible(False)
     self.recommendLabel.setVisible(False)
     self.newrecord.setVisible(False)
     self.table.setVisible(True)
     self.aboutcontent.setVisible(False)
     print('heregetrecord')
     f = open(r'database/username.txt')
     username = f.read()
     f.close()
     self.connection = sqlite3.connect("database/oj.db")
     Data = self.connection.execute(
         "SELECT id,proname,runmodel,time FROM userhistory WHERE username = '******'"
         % username)
     self.connection.commit()
     Data = Data.fetchall()
     if Data != []:
         row = len(Data)  #取得记录个数,用于设置表格的行数
         vol = len(Data[0])  #取得字段数,用于设置表格的列数
         print(row)
         print(vol)
         self.table.setRowCount(row)
         self.table.setColumnCount(vol)
         self.table.setHorizontalHeaderLabels(
             ['编号', '题目名字', '测评结果', '提交时间'])
         self.table.verticalHeader().setVisible(False)
         #        self.table.horizontalHeader().setVisible(False)
         self.table.horizontalHeader().setFixedHeight(25)
         for index in range(self.table.columnCount()):
             headItem = self.table.horizontalHeaderItem(index)
             headItem.setFont(QFont("song", 9, QFont.Bold))
             headItem.setForeground(QBrush(QColor(137, 199, 161)))
             headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
         self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
         self.table.setColumnWidth(0, 55)
         self.table.setColumnWidth(1, 175)
         self.table.setColumnWidth(2, 185)
         self.table.setColumnWidth(3, 160)
         self.table.setRowHeight(0, 30)
         self.table.setRowHeight(1, 30)
         self.table.setRowHeight(2, 30)
         self.table.setRowHeight(3, 30)
         self.table.setRowHeight(4, 30)
         self.table.setRowHeight(5, 30)
         self.table.setRowHeight(6, 30)
         self.table.setRowHeight(7, 30)
         self.table.setRowHeight(8, 30)
         self.table.setRowHeight(9, 30)
         for i in range(row):
             if i % 2 == 0:
                 for j in range(vol):
                     temp_data = Data[i][j]  #临时记录,不能直接插入表格
                     data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                     data.setBackground(QBrush(QColor(245, 245, 244)))
                     self.table.setItem(i, j, data)
             else:
                 for j in range(vol):
                     temp_data = Data[i][j]  #临时记录,不能直接插入表格
                     data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                     data.setBackground(QBrush(QColor(254, 254, 254)))
                     self.table.setItem(i, j, data)
     else:
         self.recommendLabel.setVisible(False)
         self.newrecord.setVisible(False)
         self.table.setVisible(False)
         self.remindLabel.setVisible(True)
    def getRecommend(self):
        self.remindLabel.setVisible(False)
        self.recommendLabel.setVisible(True)
        self.aboutcontent.setVisible(False)
        self.connection = sqlite3.connect("database/oj.db")
        f = open(r'database/username.txt')
        username = f.read()
        f.close()
        Data2 = self.connection.execute(
            "SELECT id,proname,level,tags,round(acrate,9) FROM newrecord where username= '******'"
            % username)
        topTen = self.connection.execute(
            "SELECT user1,user2,user3,user4,user5,user6,user7,user8,user9,user10 FROM firstrecommend WHERE username = '******'"
            % username)
        topTen = topTen.fetchall()
        print(topTen)
        if topTen != []:
            self.connection.commit()
            #        print(Data)
            self.table.setRowCount(10)
            self.table.setColumnCount(6)
            self.table.setHorizontalHeaderLabels(
                ['编号', '题目名字', '题目等级', '题目标签', 'AC率', 'AC人数'])
            self.table.verticalHeader().setVisible(False)
            #        self.table.horizontalHeader().setVisible(False)
            self.table.horizontalHeader().setFixedHeight(25)
            for index in range(self.table.columnCount()):
                headItem = self.table.horizontalHeaderItem(index)
                headItem.setFont(QFont("song", 9, QFont.Bold))
                headItem.setForeground(QBrush(QColor(137, 199, 161)))
                headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
            self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
            self.table.setColumnWidth(0, 40)
            self.table.setColumnWidth(1, 120)
            self.table.setColumnWidth(2, 90)
            self.table.setColumnWidth(3, 186)
            self.table.setColumnWidth(4, 98)
            self.table.setColumnWidth(5, 60)
            self.table.setRowHeight(0, 38)
            self.table.setRowHeight(1, 38)
            self.table.setRowHeight(2, 38)
            self.table.setRowHeight(3, 38)
            self.table.setRowHeight(4, 38)
            self.table.setRowHeight(5, 38)
            self.table.setRowHeight(6, 38)
            self.table.setRowHeight(7, 38)
            self.table.setRowHeight(8, 38)
            self.table.setRowHeight(9, 38)
            for i in range(10):
                Data = self.connection.execute(
                    "SELECT id,name,level,tags,ACrate,AC FROM problem where id = '%s'"
                    % topTen[0][i])
                Data = Data.fetchall()
                if i % 2 == 0:
                    for j in range(6):
                        temp_data = Data[0][j]  #临时记录,不能直接插入表格
                        data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                        data.setBackground(QBrush(QColor(245, 245, 244)))
                        self.table.setItem(i, j, data)
                else:
                    for j in range(6):
                        temp_data = Data[0][j]  #临时记录,不能直接插入表格
                        data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                        data.setBackground(QBrush(QColor(254, 254, 254)))
                        self.table.setItem(i, j, data)

            Data2 = Data2.fetchall()
            row = len(Data2)  #取得记录个数,用于设置表格的行数
            vol = len(Data2[0]) + 1  #取得字段数,用于设置表格的列数
            #        print(row)
            #        print(vol)
            self.newrecord.setRowCount(row)
            self.newrecord.setColumnCount(vol)
            self.newrecord.setHorizontalHeaderLabels(
                ['编号', '题目名字', '题目等级', '标签', 'AC率', '是否提交'])
            self.newrecord.verticalHeader().setVisible(False)
            self.newrecord.horizontalHeader().setVisible(False)
            #        self.table.horizontalHeader().setVisible(False)
            self.newrecord.horizontalHeader().setFixedHeight(40)
            for index in range(self.newrecord.columnCount()):
                headItem = self.newrecord.horizontalHeaderItem(index)
                headItem.setFont(QFont("song", 9, QFont.Bold))
                headItem.setForeground(QBrush(QColor(137, 199, 161)))
                headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
            self.newrecord.setEditTriggers(QAbstractItemView.NoEditTriggers)
            self.newrecord.setColumnWidth(0, 40)
            self.newrecord.setColumnWidth(1, 120)
            self.newrecord.setColumnWidth(2, 90)
            self.newrecord.setColumnWidth(3, 186)
            self.newrecord.setColumnWidth(4, 98)
            self.newrecord.setColumnWidth(5, 60)
            self.newrecord.setRowHeight(0, 43)  #设置i行的高度
            for i in range(row):
                for j in range(vol - 1):
                    if j < vol:
                        temp_data = Data2[i][j]  #临时记录,不能直接插入表格
                        print(temp_data)
                        data2 = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                        data2.setBackground(QBrush(QColor(250, 250, 250)))
                        self.newrecord.setItem(i, j, data2)
                    else:
                        data2 = QTableWidgetItem(str(0))  #转换后可插入表格
                        self.newrecord.setItem(i, j, data2)
            self.addButton = QtWidgets.QPushButton()
            self.addButton.setStyleSheet(
                "background: rgb( 137,199,161);\n"
                "color: white;\n"
                "border-bottom: 2px solid rgb( 137,199,161);\n"
                "border-radius: 2px;"
                "font:bold;")
            self.addButton.setObjectName("pushButton1")
            self.addButton.setText("提交")
            self.addButton.clicked.connect(self.addbutton)
            self.newrecord.setCellWidget(0, 5, self.addButton)

            self.newrecord.setVisible(True)
            self.table.setVisible(True)
            self.aboutcontent.setVisible(False)
        else:
            self.table.setRowCount(10)
            self.table.setColumnCount(6)
            self.table.setHorizontalHeaderLabels(
                ['编号', '题目名字', '题目等级', '题目标签', 'AC率', 'AC人数'])
            self.table.verticalHeader().setVisible(False)
            #        self.table.horizontalHeader().setVisible(False)
            self.table.horizontalHeader().setFixedHeight(25)
            for index in range(self.table.columnCount()):
                headItem = self.table.horizontalHeaderItem(index)
                headItem.setFont(QFont("song", 9, QFont.Bold))
                headItem.setForeground(QBrush(QColor(137, 199, 161)))
                headItem.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter)
            self.table.setEditTriggers(QAbstractItemView.NoEditTriggers)
            self.table.setColumnWidth(0, 40)
            self.table.setColumnWidth(1, 120)
            self.table.setColumnWidth(2, 90)
            self.table.setColumnWidth(3, 186)
            self.table.setColumnWidth(4, 98)
            self.table.setColumnWidth(5, 60)
            self.table.setRowHeight(0, 38)
            self.table.setRowHeight(1, 38)
            self.table.setRowHeight(2, 38)
            self.table.setRowHeight(3, 38)
            self.table.setRowHeight(4, 38)
            self.table.setRowHeight(5, 38)
            self.table.setRowHeight(6, 38)
            self.table.setRowHeight(7, 38)
            self.table.setRowHeight(8, 38)
            self.table.setRowHeight(9, 38)
            for i in range(10):
                Data = self.connection.execute(
                    "SELECT id,name,level,tags,ACrate,AC FROM begin;")
                Data = Data.fetchall()
                print(Data)
                if i % 2 == 0:
                    for j in range(6):
                        temp_data = Data[i][j]  #临时记录,不能直接插入表格
                        data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                        data.setBackground(QBrush(QColor(245, 245, 244)))
                        self.table.setItem(i, j, data)
                else:
                    for j in range(6):
                        temp_data = Data[i][j]  #临时记录,不能直接插入表格
                        data = QTableWidgetItem(str(temp_data))  #转换后可插入表格
                        data.setBackground(QBrush(QColor(254, 254, 254)))
                        self.table.setItem(i, j, data)
            self.newrecord.setVisible(False)
            self.table.setVisible(True)
            self.aboutcontent.setVisible(False)