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(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
Beispiel #2
0
 def setup_ui(self):
     self.l = l = QVBoxLayout(self)
     self.la = la = QLabel(_(
         'Create rules to convert identifiers into links.'))
     la.setWordWrap(True)
     l.addWidget(la)
     items = []
     for k, lx in iteritems(msprefs['id_link_rules']):
         for n, t in lx:
             items.append((k, n, t))
     items.sort(key=lambda x:sort_key(x[1]))
     self.table = t = QTableWidget(len(items), 3, self)
     t.setHorizontalHeaderLabels([_('Key'), _('Name'), _('Template')])
     for r, (key, val, template) in enumerate(items):
         t.setItem(r, 0, QTableWidgetItem(key))
         t.setItem(r, 1, QTableWidgetItem(val))
         t.setItem(r, 2, QTableWidgetItem(template))
     l.addWidget(t)
     t.horizontalHeader().setSectionResizeMode(2, t.horizontalHeader().Stretch)
     self.cb = b = QPushButton(QIcon(I('plus.png')), _('&Add rule'), self)
     connect_lambda(b.clicked, self, lambda self: self.edit_rule())
     self.bb.addButton(b, self.bb.ActionRole)
     self.rb = b = QPushButton(QIcon(I('minus.png')), _('&Remove rule'), self)
     connect_lambda(b.clicked, self, lambda self: self.remove_rule())
     self.bb.addButton(b, self.bb.ActionRole)
     self.eb = b = QPushButton(QIcon(I('modified.png')), _('&Edit rule'), self)
     connect_lambda(b.clicked, self, lambda self: self.edit_rule(self.table.currentRow()))
     self.bb.addButton(b, self.bb.ActionRole)
     l.addWidget(self.bb)
Beispiel #3
0
    def init_columns(self, defaults=False):
        # Set up columns
        self.opt_columns.blockSignals(True)
        self.model = model = self.gui.library_view.model()
        colmap = list(model.column_map)
        state = self.columns_state(defaults)
        self.hidden_cols = state['hidden_columns']
        positions = state['column_positions']
        colmap.sort(key=lambda x: positions[x])
        self.opt_columns.clear()

        db = model.db
        self.field_metadata = db.field_metadata

        self.opt_columns.setColumnCount(4)
        item = QTableWidgetItem(_('Column header'))
        self.opt_columns.setHorizontalHeaderItem(0, item)
        item = QTableWidgetItem(_('Lookup name'))
        self.opt_columns.setHorizontalHeaderItem(1, item)
        item = QTableWidgetItem(_('Type'))
        self.opt_columns.setHorizontalHeaderItem(2, item)
        item = QTableWidgetItem(_('Description'))
        self.opt_columns.setHorizontalHeaderItem(3, item)

        self.opt_columns.setRowCount(len(colmap))
        self.column_desc = dict(map(lambda x:(CreateCustomColumn.column_types[x]['datatype'],
                                         CreateCustomColumn.column_types[x]['text']),
                                  CreateCustomColumn.column_types))

        for row, col in enumerate(colmap):
            self.setup_row(self.field_metadata, row, col)

        self.restore_geometry()
        self.opt_columns.cellDoubleClicked.connect(self.row_double_clicked)
        self.opt_columns.blockSignals(False)
Beispiel #4
0
def cargar_tabla():  #crea tabla con la query correspondiente:
    comics = base.query_select_comics()
    fila = 0
    for c in comics:
        vt.tbl_tabla.insertRow(fila)
        columna = 0
        for e in range(7):
            celda = QTableWidgetItem(str(c[e]))
            vt.tbl_tabla.setItem(fila, columna, celda)
            columna += 1
        img = "portadas/" + str(c[0]) + ".jpg"
        if Path(img).is_file(
        ):  #si en la fila correspondiente hay imagen guardada, crea el botón para mostrarla:
            btn_miniatura = QPushButton(" Ampliar")
            ico = QtGui.QIcon(
            )  #se crea icono de la portada que llevará el botón
            ico.addPixmap(QtGui.QPixmap(img), QtGui.QIcon.Normal,
                          QtGui.QIcon.Off)
            btn_miniatura.setIcon(ico)
            btn_miniatura.setStyleSheet(
                "*{min-width: 1px;"
            )  #evita restricción del ancho de los botones a 80px de la hoja de estilo dark
            btn_miniatura.clicked.connect(
                partial(ver_portada, c[0])
            )  #llama a la funcion para ampliar portada en nueva ventana, pasando su Id
            vt.tbl_tabla.setCellWidget(fila, columna, btn_miniatura)
        else:  #si el Id no tiene imagen:
            valor = QTableWidgetItem("Sin portada")
            vt.tbl_tabla.setItem(fila, columna, valor)
        fila += 1
    def insert_users_into_table(self, users):
        self.ui.tableWidget_userInfo.clearContents()
        totalrow = self.ui.tableWidget_userInfo.rowCount()
        assert totalrow >= 10  # 这里的10是你之前在ui设置的10行
        for i in range(totalrow - 1, 10, -1):  # 多出几行删几行,不然你的行数会一直增加
            self.ui.tableWidget_userInfo.removeRow(i)
        user_index = 0  # 记录第几个用户, 第几个用户就放在第几行
        for user in users:
            user_ID = user['remote_identity']
            username = user['name']
            pwd = user['password']
            auth = str(user['authority'])
            name_Item = QTableWidgetItem(username)
            name_Item.setTextAlignment(132)
            pwd_Item = QTableWidgetItem(pwd)
            pwd_Item.setTextAlignment(132)
            ID_Item = QTableWidgetItem(user_ID)
            ID_Item.setTextAlignment(132)
            auth_Item = QTableWidgetItem(auth)
            auth_Item.setTextAlignment(132)
            self.ui.tableWidget_userInfo.insertRow(user_index)
            self.ui.tableWidget_userInfo.setItem(user_index, 0, name_Item)
            self.ui.tableWidget_userInfo.setItem(user_index, 1, pwd_Item)
            self.ui.tableWidget_userInfo.setItem(user_index, 2, ID_Item)
            self.ui.tableWidget_userInfo.setItem(user_index, 3, auth_Item)

            user_index += 1
Beispiel #6
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 #7
0
 def bd_score(self):
     con = sqlite3.connect(resource_path("DB/score.db"))
     # Создание курсора
     cur = con.cursor()
     # Выполнение запроса и получение всех результатов
     result = cur.execute(
         "SELECT * FROM main ORDER BY score DESC;").fetchmany(5)
     cur.execute("DROP TABLE main")
     cur.execute("CREATE TABLE main (name STRING, score INTEGER)")
     for item in result:
         cur.execute("INSERT INTO main VALUES(?, ?)", (item[0], item[1]))
         con.commit()
     # Вывод результатов на экран
     if result != []:
         self.table_score.setColumnCount(len(result[0]))
         self.table_score.setRowCount(0)
         for i, row in enumerate(result):
             self.table_score.setRowCount(self.table_score.rowCount() + 1)
             for j, elem in enumerate(row):
                 item = QTableWidgetItem(str(elem))
                 self.table_score.setItem(i, j, item)
                 item.setFlags(QtCore.Qt.ItemIsEnabled)
         self.table_score.setHorizontalHeaderItem(
             0, QTableWidgetItem("Имя игрока"))
         self.table_score.setHorizontalHeaderItem(1,
                                                  QTableWidgetItem("Счет"))
         self.table_score.setColumnWidth(0, 127)
         self.table_score.setColumnWidth(1, 20)
     con.close()
Beispiel #8
0
    def redraw_row(self, integration):
        """
        Takes the integration, and redraws the variable fields in the row
        :param value: list of Integration objects
        :return: None
        """
        if integration.id not in self.showing:
            return
        self.blockSignals(
            True
        )  # signals are blocked during redraw so cellChanged -> change_label is not called
        row = self.showing.index(integration.id)
        self.setItem(row, Col.label.value, QTableWidgetItem(integration.label))

        mean_item = QTableWidgetItem('{num:.{precision}E}'.format(
            num=Decimal(integration.mean), precision=self.precision))
        mean_item.setFlags(QtCore.Qt.ItemIsSelectable
                           | QtCore.Qt.ItemIsEnabled)
        self.setItem(row, Col.mean.value, mean_item)

        sum_item = QTableWidgetItem('{num:.{precision}E}'.format(
            num=Decimal(integration.sum), precision=self.precision))
        sum_item.setFlags(QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEnabled)
        self.setItem(row, Col.integration.value, sum_item)
        self.blockSignals(False)
Beispiel #9
0
 def addparameters(self):
     '''
     - Called when `Add` button clicked beside QTableWidget
     - Open up dialog box to enter parameter and value accordingly
     - Validate if parameter already in list of parameters
     - Accordingly add parameter and value in modeldict as well as table
     - text1 => parameter, text2 => value
     '''
     text1, ok = QtWidgets.QInputDialog.getText(self, 'Parameter',
                                                'Enter Parameter')
     if ok:
         if text1 in list(self.modeldict.keys()):
             self.msg = QtWidgets.QErrorMessage(self)
             self.msg.setModal(True)
             self.msg.setWindowTitle("Error Message")
             self.msg.showMessage("The paramaeter " + text1 +
                                  " is already in the list")
             self.msg.exec_()
             return
         text2, ok = QtWidgets.QInputDialog.getText(self, 'Value',
                                                    'Enter Value')
         if ok:
             currentRowCount = self.modeltable.rowCount()
             self.modeltable.insertRow(currentRowCount)
             self.modeltable.setItem(currentRowCount, 0,
                                     QTableWidgetItem(text1))
             self.modeltable.setItem(currentRowCount, 1,
                                     QTableWidgetItem(text2))
             self.modeldict[str(text1)] = str(text2)
         else:
             pass
     else:
         pass
Beispiel #10
0
 def setup_server_options(self):
     self.loading_server_options = True
     directory_dict = self.json.get_directory()
     path = directory_dict['working-directory'] + '/server.properties'
     if not os.path.exists(path):
         self.server_options_table.setRowCount(0)
         return
     lines = [line.strip() for line in open(directory_dict['working-directory'] + '/server.properties', 'r') if
              not line.startswith('#') and line != '']
     self.server_options_table.setRowCount(len(lines))
     row = 0
     column = 0
     for line in lines:
         key, value = line.split('=')
         if column == 2:
             column = 0
             row += 1
         if column == 0:
             item = QTableWidgetItem(key)
             item.setFlags(Qt.ItemIsEnabled)
             self.server_options_table.setItem(row, column, item)
             column += 1
         self.server_options_table.setItem(row, column, QTableWidgetItem(value))
         column += 1
     self.setup_whitelisted_players_widget()
     self.setup_banned_players_widget()
     self.setup_banned_ips()
     self.setup_operators()
     self.loading_server_options = False
Beispiel #11
0
    def update_log(self, book_id, msg):
        if book_id in self.book_log_map:
            index = self.book_log_map[book_id]
        else:
            index = self.log.rowCount()
            self.book_log_map[book_id] = index

            self.log.insertRow(index)

            title = self.db.get_proxy_metadata(book_id).title
            title_item = QTableWidgetItem(title)
            title_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled
                                | Qt.ItemNeverHasChildren)
            self.log.setItem(index, 0, title_item)

            progress = QProgressBar()
            progress.setMaximum(0)
            self.log.setCellWidget(index, 1, progress)
            self.book_progress_map[book_id] = progress

        if not msg is None:
            del (self.book_progress_map[book_id])
            self.log.setCellWidget(index, 1, None)

            msg_item = QTableWidgetItem(msg)
            msg_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled
                              | Qt.ItemNeverHasChildren)
            self.log.setItem(index, 1, msg_item)
Beispiel #12
0
    def okButPressed(self, isEdit, oldSite='',oldUsername=''):
        try:
            if not isEdit: self.table.setRowCount(self.table.rowCount()+1)

            self.username=self.addUI.usrBox.text()
            self.site=self.addUI.siteBox.text()
            self.password=self.addUI.passBox.text()
            bPass=b64encode(encrypt(self.key, self.password))

            conn = sqlite3.connect('data')
            cursor=conn.cursor()
            cursor.execute("CREATE TABLE IF NOT EXISTS users_data (userId VARCHAR(100), site VARCHAR(100),username VARCHAR(100) , password VARCHAR(255))")
            if isEdit:
                cursor.execute("UPDATE users_data SET site=?, username=?, password=? WHERE userId=? and site=? and username=?",(self.site,self.username,bPass,self.userId,oldSite,oldUsername))
            else:
                cursor.execute("INSERT INTO users_data (userId, site, username, password) VALUES (?,?,?,?)",(self.userId,self.site,self.username,bPass))
            conn.commit()
            conn.close()

            self.addUI.close()


            i=self.table.rowCount()-1

            if isEdit: i=self.table.selectedIndexes()[0].row()

            self.table.setItem(i,0,QTableWidgetItem(str(self.site)))
            self.table.setItem(i,1,QTableWidgetItem(str(self.username)))
            self.table.setItem(i,2,QTableWidgetItem(str(self.password)))


        except Exception as e:
            print(e)
    def update_customs(self, host_item):
        """
        Update customs QTableWidget with customs of host item

        :param host_item: Host item
        :type host_item: alignak_app.items.host.Host
        """

        logger.debug('Open Customs for %s', host_item.name)

        self.customs_table.clear()
        self.customs_table.setHorizontalHeaderLabels(self.table_headers)
        self.customs_table.setRowCount(len(host_item.data['customs']))

        row = 0
        for custom in host_item.data['customs']:
            title_item = QTableWidgetItem()
            title = ''
            if '_' in custom[:1]:
                title = custom[1:]
            title = title.replace('_', ' ').capitalize()
            title_item.setText(title)
            title_item.setToolTip(custom)
            self.customs_table.setItem(row, 0, title_item)

            data_item = QTableWidgetItem()
            data_item.setText(str(host_item.data['customs'][custom]))
            self.customs_table.setItem(row, 1, data_item)

            row += 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 #15
0
    def addRecordsTable(self):
        """ Add Records to the Table Widget"""

        try:
            self.previousValueList = ["None"] * len(
                self.planHeatDMM.data.shp_map_csv_fields)
            for data in self.planHeatDMM.data.shp_map_csv_fields:
                if data.calculateModel in (
                        self.planHeatDMM.data.calculateMethod, "Both"):

                    self.combo = QtWidgets.QComboBox()

                    self.combo.addItem(str("None"))
                    for shapeField in self.planHeatDMM.data.originShapeFields:
                        self.combo.addItem(str(shapeField[0]))

                    if data.user_format_match == True:
                        self.combo.currentTextChanged.connect(
                            self.checkFieldDataFormat)

                    rowPosition = self.fieldUserMapTable.rowCount()
                    self.fieldUserMapTable.insertRow(rowPosition)

                    self.combo.setObjectName(str(rowPosition))
                    self.combo.currentTextChanged.connect(
                        self.checkHeightMandatoryField)

                    self.fieldUserMapTable.setItem(
                        rowPosition, 0, QTableWidgetItem(data.fieldName))
                    self.fieldUserMapTable.setCellWidget(
                        rowPosition, 1, self.combo)
                    self.fieldUserMapTable.setItem(
                        rowPosition, 2, QTableWidgetItem(data.fieldState))

                    l = [
                        x for x in self.planHeatDMM.data.shpDMMFieldsMap
                        if x.fieldName == data.fieldName
                        and x.user_definition_field.lower not in ("", "none")
                    ]
                    if l:
                        self.combo.setCurrentText(l[0].user_definition_field)
                        self.previousValueList[rowPosition] = l[
                            0].user_definition_field

                    if data.fieldState.lower() in ('mandatory'):
                        self.fieldUserMapTable.item(
                            rowPosition,
                            2).setForeground(QtGui.QColor(255, 0, 0))

        except:
            self.planHeatDMM.resources.log.write_log(
                "ERROR",
                "FieldUserMapDialog - addRecordTable Unexpected error:" +
                str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1]))
            showErrordialog(
                self.planHeatDMM.dlg,
                "FieldUserMapDialog - addRecordTable Unexpected error:",
                str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1]))
 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 #17
0
 def retranslateUi(self, MainWindow):
     _translate = QtCore.QCoreApplication.translate
     MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
     self.fcfs_button.setText(_translate("MainWindow", "先来先服务"))
     self.sjf_button.setText(_translate("MainWindow", "短作业优先"))
     self.rr_button.setText(_translate("MainWindow", "时间片轮转"))
     self.static_button.setText(_translate("MainWindow", "静态优先级"))
     self.hrrn_button.setText(_translate("MainWindow", "最高响应比"))
     self.title.setText(
         _translate(
             "MainWindow",
             "<html><head/><body><p><span style=\" font-size:16pt;\">处理机调度算法</span></p></body></html>"
         ))
     item = self.result_table.horizontalHeaderItem(0)
     item.setText(_translate("MainWindow", "进程名"))
     item = self.result_table.horizontalHeaderItem(1)
     item.setText(_translate("MainWindow", "到达时间"))
     item = self.result_table.horizontalHeaderItem(2)
     item.setText(_translate("MainWindow", "服务时间"))
     item = self.result_table.horizontalHeaderItem(3)
     item.setText(_translate("MainWindow", "优先级"))
     item = self.result_table.horizontalHeaderItem(4)
     item.setText(_translate("MainWindow", "开始时间"))
     item = self.result_table.horizontalHeaderItem(5)
     item.setText(_translate("MainWindow", "结束时间"))
     item = self.result_table.horizontalHeaderItem(6)
     item.setText(_translate("MainWindow", "周转时间"))
     item = self.result_table.horizontalHeaderItem(7)
     item.setText(_translate("MainWindow", "带权周转时间"))
     __sortingEnabled = self.result_table.isSortingEnabled()
     self.result_table.setSortingEnabled(False)
     self.result_table.setSortingEnabled(__sortingEnabled)
     self.avg_label.setText(_translate("MainWindow", "平均周转时间:"))
     self.avg_w_label.setText(_translate("MainWindow", "平均带权周转时间:"))
     self.time_label.setText(_translate("MainWindow", "时间片:"))
     self.insert_button.setText(_translate("MainWindow", "添加进程"))
     self.menu.setTitle(_translate("MainWindow", "文件"))
     self.menu_2.setTitle(_translate("MainWindow", "帮助"))
     f_list = self.create_list()
     for i in range(0, len(f_list)):
         # 进程名
         name = '{}'.format(f_list[i].name)
         n_data = QTableWidgetItem(str(name))
         self.result_table.setItem(i, 0, n_data)
         # 到达时间
         arrival_time = '{}'.format('%.2f' % f_list[i].arrival_time)
         a_data = QTableWidgetItem(str(arrival_time))
         self.result_table.setItem(i, 1, a_data)
         # 服务时间
         service_time = '{}'.format('%.2f' % f_list[i].service_time)
         s_data = QTableWidgetItem(str(service_time))
         self.result_table.setItem(i, 2, s_data)
         # 优先级
         priority = '{}'.format('%.2f' % f_list[i].priority)
         p_data = QTableWidgetItem(str(priority))
         self.result_table.setItem(i, 3, p_data)
Beispiel #18
0
 def createtable(self, modelfile):
     '''
     - Set states for other components
     - Initialise QTable widget
     - Set options for QTable widget
     - Place QTable widget, using `self.grid.addWidget`
     - Select the `.xml` file from the modelfile passed as `.lib`
     - Use ET (xml.etree.ElementTree) to parse the xml file
     - Extract data from the XML and store it in `modeldict`
     - Show the extracted data in QTableWidget
     - Can edit QTable inplace, connect `edit_modeltable`\
         function for editing
     '''
     self.savebtn.setDisabled(False)
     self.addbtn.setHidden(False)
     self.removebtn.setHidden(False)
     self.modelfile = modelfile
     self.modeldict = {}
     self.modeltable = QtWidgets.QTableWidget()
     self.modeltable.resizeColumnsToContents()
     self.modeltable.setColumnCount(2)
     self.modeltable.resizeRowsToContents()
     self.modeltable.resize(200, 200)
     self.grid.addWidget(self.modeltable, 3, 2, 8, 2)
     filepath, filename = os.path.split(self.modelfile)
     base, ext = os.path.splitext(filename)
     self.modelfile = os.path.join(filepath, base + '.xml')
     print("Model File used for creating table : ", self.modelfile)
     self.tree = ET.parse(self.modelfile)
     self.root = self.tree.getroot()
     for elem in self.tree.iter(tag='ref_model'):
         self.ref_model = elem.text
     for elem in self.tree.iter(tag='model_name'):
         self.model_name = elem.text
     row = 0
     # get data from XML and store to dictionary (self.modeldict)
     for params in self.tree.findall('param'):
         for paramlist in params:
             self.modeldict[paramlist.tag] = paramlist.text
             row = row + 1
     self.modeltable.setRowCount(row)
     count = 0
     # setItem in modeltable, for each item in modeldict
     for tags, values in list(self.modeldict.items()):
         self.modeltable.setItem(count, 0, QTableWidgetItem(tags))
         try:
             valueitem = QTableWidgetItem(values)
         except BaseException:
             pass
         self.modeltable.setItem(count, 1, valueitem)
         count = count + 1
     self.modeltable.setHorizontalHeaderLabels(
         ("Parameters;Values").split(";")
     )
     self.modeltable.show()
     self.modeltable.itemChanged.connect(self.edit_modeltable)
Beispiel #19
0
 def updateTable(self, words):
     results = []
     self.table.setRowCount(len(words))
     i = 0
     for word in words:
         self.table.setItem(i, 0, QTableWidgetItem(word.short))
         self.table.setItem(i, 1, QTableWidgetItem(word.long))
         self.table.setItem(i, 2, QTableWidgetItem(word.explain))
         i += 1
         results.append(word.short)
     return results
Beispiel #20
0
    def add_bot(self, bot: Bot):
        """Adds a bot to the table."""
        self.setRowCount(self.rowCount() + 1)
        created_row = self.rowCount() - 1

        self.setItem(created_row, 0, QTableWidgetItem(bot.uid))
        self.setItem(created_row, 1, QTableWidgetItem(bot.username + "@" + bot.hostname))
        self.setItem(created_row, 2, QTableWidgetItem(""))
        self.setItem(created_row, 3, QTableWidgetItem(
            strftime("%a, %b %d @ %H:%M:%S", localtime(bot.last_online))
        ))
Beispiel #21
0
    def setup_row(self, field_metadata, row, col, oldkey=None):
        flags = Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable

        item = QTableWidgetItem(col)
        item.setFlags(flags)
        self.opt_columns.setItem(row, 1, item)

        if col.startswith('#'):
            fm = self.custcols[oldkey if oldkey is not None else col]
        else:
            fm = field_metadata[col]

        if col == 'title':
            coltype = _('Text')
        elif col == 'ondevice':
            coltype = _('Yes/No with text')
        else:
            dt = fm['datatype']
            if fm['is_multiple']:
                if col == 'authors' or fm.get('display', {}).get(
                        'is_names', False):
                    coltype = _(
                        'Ampersand separated text, shown in the Tag browser')
                else:
                    coltype = self.column_desc['*' + dt]
            else:
                coltype = self.column_desc[dt]
        coltype_info = (coltype if oldkey is None else ' ' +
                        _('(lookup name was {0}) {1}'.format(oldkey, coltype)))

        item = QTableWidgetItem(coltype_info)
        item.setFlags(flags)
        self.opt_columns.setItem(row, 2, item)

        desc = fm['display'].get('description', "")
        item = QTableWidgetItem(desc)
        item.setFlags(flags)
        self.opt_columns.setItem(row, 3, item)

        item = QTableWidgetItem(fm['name'])
        item.setData(Qt.ItemDataRole.UserRole, (col))
        item.setFlags(flags)
        self.opt_columns.setItem(row, 0, item)

        if col.startswith('#'):
            item.setData(Qt.ItemDataRole.DecorationRole,
                         (QIcon(I('column.png'))))
        if col != 'ondevice':
            flags |= Qt.ItemFlag.ItemIsUserCheckable
        item.setFlags(flags)
        if col != 'ondevice':
            item.setCheckState(Qt.CheckState.Unchecked if col in
                               self.hidden_cols else Qt.CheckState.Checked)
Beispiel #22
0
 def add_ticker_to_table(self, ticker):
     self.TableWidget_tickers.insertRow(0)
     self.TableWidget_tickers.setItem(
         0, 0,
         QTableWidgetItem(
             dt.datetime.fromtimestamp(
                 ticker.TickerTime).strftime('%H:%M:%S')))
     self.TableWidget_tickers.setItem(0, 1,
                                      QTableWidgetItem(str(ticker.Price)))
     qty = QTableWidgetItem(str(ticker.Qty))
     self.TableWidget_tickers.setItem(0, 2, qty)
     if self.TableWidget_tickers.rowCount() > 100:
         self.TableWidget_tickers.removeRow(100)
Beispiel #23
0
 def update_table(self, init=False):
     if init:
         self.init_table()
     records = DatabaseManager.get_all_keyboards()
     self.keyboard_table.setRowCount(records[0])
     for idx, record in enumerate(records[1]):
         self.keyboard_table.setItem(idx, 1, QTableWidgetItem(record.language_name))
         self.keyboard_table.setItem(idx, 2, QTableWidgetItem(str(record.id)))
         chk_box = QTableWidgetItem()
         chk_box.setFlags(Qt.ItemIsUserCheckable | Qt.ItemIsEnabled)
         chk_box.setCheckState(Qt.Unchecked)
         self.keyboard_table.setItem(idx, 0, chk_box)
     self.keyboard_table.resizeRowsToContents()
     return
Beispiel #24
0
    def impulse_calculate1(self):
        self.impulse_table.clear()
        l = self.main_table.columnCount()
        self.impulse_table.setColumnCount(l)
        for i in range(l):
            self.impulse_table.setItem(0, i, QTableWidgetItem('0'))
            self.impulse_table.setColumnWidth(i, 50)

        for c in range(self.main_table.columnCount()):
            it = self.main_table.horizontalHeaderItem(c)
            item = QTableWidgetItem()
            self.impulse_table.setHorizontalHeaderItem(c, item)
            item = self.impulse_table.horizontalHeaderItem(c)
            item.setText(str(it.text()))
Beispiel #25
0
def mostrar_tabla_widget():
    ui_ventana_tabla_widget.setupUi(MainWindow) 
    libros = operaciones_bd.obtener_libros()
    fila = 0
    for l in libros:
        ui_ventana_tabla_widget.tabla_libros.insertRow(fila)
        celda = QTableWidgetItem(str(l[0]))
        ui_ventana_tabla_widget.tabla_libros.setItem(fila,0,celda)
        celda = QTableWidgetItem(str(l[1]))
        ui_ventana_tabla_widget.tabla_libros.setItem(fila,1,celda)
        celda = QTableWidgetItem(str(l[2]))
        ui_ventana_tabla_widget.tabla_libros.setItem(fila,2,celda)
        celda = QTableWidgetItem(str(l[3]))
        ui_ventana_tabla_widget.tabla_libros.setItem(fila,3,celda)
        fila += 1
 def fillStatTable(self, rList, counter, statsTable, statsTableIndex):
     try: 
         for iD,amount in counter.items():
             statsTable.insertRow(statsTableIndex)
             statsTable.setItem(statsTableIndex, 0, QTableWidgetItem(Globals.tspDict[iD][0]))
             statsTable.setItem(statsTableIndex, 1, QTableWidgetItem(str(iD)))
             statsTable.setItem(statsTableIndex, 2,QTableWidgetItem(str(amount)))
             statsTableIndex = statsTableIndex + 1
         tList = self.snifferAPI.getSizeOfObjects(rList)
         statsTableIndex = 0
         for size in tList:
             statsTable.setItem(statsTableIndex, 3, QTableWidgetItem(str(size)))
             statsTableIndex = statsTableIndex + 1
     except Exception as e:
         print("Exception occurred: "+str(e))        
Beispiel #27
0
 def add_price_to_table(self, price):
     max_depth = 5
     for i, bid, bid_qty, ask, ask_qty in zip(range(20), price.Bid,
                                              price.BidQty, price.Ask,
                                              price.AskQty):
         self.TableWidget_prices.setItem(5 + i, 0,
                                         QTableWidgetItem(str(bid)))
         self.TableWidget_prices.setItem(5 + i, 1,
                                         QTableWidgetItem(str(bid_qty)))
         self.TableWidget_prices.setItem(4 - i, 0,
                                         QTableWidgetItem(str(ask)))
         self.TableWidget_prices.setItem(4 - i, 1,
                                         QTableWidgetItem(str(ask_qty)))
         if max_depth == i + 1:
             break
 def select_all_data(self):     
     self.delete_all_records()        
     font = QtGui.QFont()
     font.setPointSize(10)
     self.tableWidget.setFont(font) 
     self.tableWidget.horizontalHeader().setStretchLastSection(True)
     self.tableWidget.setColumnWidth(0, 100)
     self.tableWidget.setColumnWidth(1, 100)
     self.tableWidget.setColumnWidth(2, 100)
     self.tableWidget.setColumnWidth(3, 150)
     self.tableWidget.setColumnWidth(4, 150)
     self.tableWidget.setColumnWidth(5, 150)
     self.tableWidget.setColumnWidth(6, 150) 
 
     self.tableWidget.setHorizontalHeaderLabels(['Slip No.','Order Id','Vehicle No.','Material','No.Of.Bags','Net.Wt.','Created On'])        
        
     connection = sqlite3.connect("fci.db")
     results=connection.execute("select SERIAL_ID,(SELECT A.ORDER_ID FROM ISSUE_MST A WHERE A.ISSUE_ID=ISSUE_ID) as ISSUE_ID,VEHICLE_NO,MATERIAL_NAME,IFNULL(ACCPTED_BAGS,0),IFNULL(NET_WEIGHT_VAL,0),CREATED_ON FROM WEIGHT_MST WHERE ISSUE_ID IS NOT NULL AND SLOT_1 IN (SELECT SLOT_POP_ID FROM GLOBAL_VAR)")                        
     for row_number, row_data in enumerate(results):            
         self.tableWidget.insertRow(row_number)
         for column_number, data in enumerate(row_data):
             self.tableWidget.setItem(row_number,column_number,QTableWidgetItem(str (data)))
             #self.lineEdit.setText("")
     connection.close()   
     #self.tableWidget.resizeColumnsToContents()
     self.tableWidget.resizeRowsToContents()
     self.tableWidget.horizontalHeader().setStretchLastSection(True)
     self.tableWidget.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers)
Beispiel #29
0
    def addRecordsTable(self):
        """ Add Records to the Table Widget"""
        
        try:
            
            for user_use in self.planHeatDMM.data.inputSHPFieldBuildingUseValues:
                self.combo = QtWidgets.QComboBox(self)
                self.combo.setMouseTracking(False)
                self.combo.setObjectName("userFieldCombo")
                for data in self.planHeatDMM.data.buildingUse:
                    self.combo.addItem(data.use)
                
                
                l = [x for x in self.planHeatDMM.data.buildingUseMap if x.user_definition_use == user_use and x.DMM_use not in ("","Not evaluate")] 
                if l:
                    self.combo.setCurrentText(l[0].DMM_use)
                
                
                rowPosition = self.buildUseMapTable.rowCount()
                self.buildUseMapTable.insertRow(rowPosition)     
                self.buildUseMapTable.setItem(rowPosition , 0, QTableWidgetItem(user_use))
                self.buildUseMapTable.setCellWidget(rowPosition,1,self.combo)
                     
    

            
        except:
            self.planHeatDMM.resources.log.write_log("ERROR","BuildingUseMapDialog - addRecordTable Unexpected error:" + str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1]))
            showErrordialog(self.planHeatDMM.dlg,"BuildingUseMapDialog - addRecordTable Unexpected error:",str(sys.exc_info()[0]) + " " + str(sys.exc_info()[1]))
Beispiel #30
0
def mostrar_table_widget_series():
    ui_listado_series_table_widget.setupUi(MainWindow)
    series = operaciones_bd.obtener_series()
    fila = 0
    for s in series:
        ui_listado_series_table_widget.listado_series_table_widget.insertRow(
            fila)

        indice_celda = 0
        for valor in s:
            celda = QTableWidgetItem(str(valor))
            ui_listado_series_table_widget.listado_series_table_widget.setItem(
                fila, indice_celda, celda)
            indice_celda += 1
        #agregamos el boton borrar
        boton_borrar = QPushButton("BORRAR")
        boton_borrar.clicked.connect(partial(borrar_serie, s[0]))
        ui_listado_series_table_widget.listado_series_table_widget.setCellWidget(
            fila, indice_celda, boton_borrar)
        #agregamos el boton editar
        boton_editar = QPushButton("EDITAR")
        boton_editar.clicked.connect(partial(editar_serie, s[0]))
        ui_listado_series_table_widget.listado_series_table_widget.setCellWidget(
            fila, indice_celda + 1, boton_editar)

        fila += 1