def preencher_tabela(self): self.tableWidget_items.setRowCount(len(self.pedido.itens)) if len(self.pedido.itens) > 0: row = 0 for item_pedido in self.pedido.itens: col = 0 for coluna in self.colunas_item: valor = item_pedido.to_item_dict()[coluna] if col in (4, 5, 6): item = QTableWidgetItem(self.formatar_numero(valor)) item.setTextAlignment(Qt.AlignRight) if col == 4 and item_pedido.alerta != '': item.setIcon(self.icone_alerta) item.setToolTip(item_pedido.alerta) else: item = QTableWidgetItem(self.formatar_numero(valor)) self.tableWidget_items.setItem(row, col, item) col = col + 1 row = row + 1 self.tableWidget_items.setColumnHidden(0, True) self.tableWidget_items.setColumnHidden(1, True) self.tableWidget_items.resizeColumnsToContents() self.limpar_item()
def createRow(self, pos, key, val, pin): newKeyItem = QTableWidgetItem() newKeyItem.setText(key) newValItem = QTableWidgetItem() newValItem.setText(val) color = PySide2.QtGui.QColor(200, 220, 200) if bool(pin): # newKeyItem.setIcon(QIcon.fromTheme('emblem-important')); newKeyItem.setIcon(IconFactory.getIcon('push_pin')) newKeyItem.setBackground(color) newValItem.setBackground(color) self.insertRow(pos) self.setItem(pos, 0, newKeyItem) self.setItem(pos, 1, newValItem)
def setAsCurrentDatabase(self): """ 设置为当前数据库 """ if len(self.tables) == 0: self.refreshTables() self.applicationWindow.showDatabaseTab() mainWindow = self.applicationWindow.mainWindow databaseTab = mainWindow.databaseTab twMachineTabs = mainWindow.twMachineTabs twMachineTabs.setTabText(twMachineTabs.indexOf(databaseTab), "Database: %s" % self.name) twMachineTabs.setCurrentWidget(databaseTab) databaseTable = mainWindow.databaseInfoTable for i in reversed(range(databaseTable.rowCount())): databaseTable.removeRow(i) for table in self.tables: index = databaseTable.rowCount() databaseTable.insertRow(index) nameItem = QTableWidgetItem(table.name) nameItem.setIcon(QIcon('../resources/icons/table.png')) databaseTable.setItem(index, 0, nameItem) databaseTable.setItem(index, 1, QTableWidgetItem(str(table.rows))) databaseTable.setItem( index, 2, QTableWidgetItem(byteSizedStrings(table.size))) databaseTable.setItem(index, 3, QTableWidgetItem(table.getCreateTime())) databaseTable.setItem(index, 4, QTableWidgetItem(table.getUpdatedTime())) databaseTable.setItem(index, 5, QTableWidgetItem(table.engine)) databaseTable.setItem(index, 6, QTableWidgetItem(table.comment)) databaseTable.setItem(index, 7, QTableWidgetItem('table')) self.applicationWindow.tableTab.populateDefaultCollationField( self.server)
class Device(Thread): SerialNo = "" HelperNode = None DataPerso = None StateData = True StateProc = 0 # O= Non commencé, 1 = en cours, 2 = Fini ValeurScriptExecution = 0 ItemId = QTableWidgetItem() ItemData = QTableWidgetItem() ItemProcess = QTableWidgetItem() #Manager = None VBoxLayout = None #ResultFunction = {} ResultFunctionItem = [] def __init__(self, serialNo, PathProject): Thread.__init__(self) self.SerialNo = serialNo self.ItemId = QTableWidgetItem(str(self.SerialNo)) self.ItemId.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.ItemData = QTableWidgetItem("") self.ItemData.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.ItemProcess = QTableWidgetItem("") self.ItemProcess.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled) self.UpdateItem() #self.Manager = ManagerNode self.VBoxLayout = QVBoxLayout() #self.VBoxLayout.setSizeConstraint(QLayout.SetFixedSize) self.VBoxLayout.addWidget( QLabel("Initialisation log de " + self.SerialNo)) self.HelperNode = DeviceHelper(serialNo, PathProject, self) self.VerifyData() i = 1 while i <= len(self.HelperNode.FunctionCallDict): self.ResultFunctionItem.append( QListWidgetItem(self.HelperNode.FunctionCallDict[i])) i = i + 1 def UpdateItem(self): if not self.StateData: self.ItemData.setIcon(QIcon(".\\Asset\\red.svg")) else: self.ItemData.setIcon(QIcon(".\\Asset\\green.svg")) if self.StateProc == 2: self.ItemProcess.setIcon(QIcon(".\\Asset\\green.svg")) elif self.StateProc == 1: self.ItemProcess.setIcon(QIcon(".\\Asset\\orange.svg")) else: self.ItemProcess.setIcon(QIcon(".\\Asset\\red.svg")) def run(self): if self.StateProc == 0: self.StateProc = 1 self.UpdateItem() i = 1 while i <= len(self.HelperNode.FunctionCallDict): functioCallable = getattr(self.HelperNode, self.HelperNode.FunctionCallDict[i]) result = functioCallable() if result == 1: pal = QPalette() pal.setColor(QPalette.Background, Qt.green) self.ResultFunctionItem[ self.HelperNode.FunctionCallDict[i]].setPalette(pal) i = i + 1 self.StateProc = 2 self.UpdateItem() def GetState(self): return self.SerialNo, self.StateData, self.StateProc def GetItem(self): return self.ItemId, self.ItemData, self.ItemProcess def GetIMEI(self): return self.HelperNode.GetIMEI() def GetLayout(self): return self.VBoxLayout def GetListItemFunction(self): return self.ResultFunctionItem def VerifyData(self): self.StateData = True for item in self.HelperNode.ListVariable: if item not in self.HelperNode.Variable.keys(): self.StateData = False self.UpdateItem() def SetData(self, Data): self.HelperNode.Variable = Data self.VerifyData() def AddLog(self, Text, Sens="Entrant"): tmpLabel = QLabel(Text) pal = QPalette() if Sens == "Entrant": #Entrant : Device -> Computer pal.setColor(QPalette.Background, Qt.green) elif Sens == "Sortant": #Sortant : Computer -> Device pal.setColor(QPalette.Background, Qt.red) tmpLabel.setAutoFillBackground(True) tmpLabel.setPalette(pal) self.VBoxLayout.addWidget(tmpLabel)