def add_element(self): des=self.description.text() price=self.price.text() self.table.insertRow(self.items) description_item = QTableWidgetItem(des) price_item = QTableWidgetItem("{:.2f}".format(float(price))) price_item.setTextAlignment(Qt.AlignRight) self.table.setItem(self.items, 0, description_item) self.table.setItem(self.items, 1, price_item) self.description.setText("") self.price.setText("") self.items+=1
def add_marker(self, onset: str, marker: str, timestamp: Optional[bool] = True) -> None: """Write the marker in the GUI.""" row = self.parent_frame.tableWidget_markers.rowCount() self.parent_frame.tableWidget_markers.insertRow(row) if timestamp: item = QTableWidgetItem(onset.strftime("%x %X")) else: item = QTableWidgetItem(onset) self.parent_frame.tableWidget_markers.setItem(row, 0, item) item = QTableWidgetItem(f"{marker}") self.parent_frame.tableWidget_markers.setItem(row, 1, item)
def _makewidget(parent, val, center=False): """ Small helper function that builds a TableWidgetItem and sets up the font the way we want""" out = QTableWidgetItem(str(val)) out.setFlags(Qt.ItemIsEnabled) out.setFont(getMonospaceFont(parent)) if center: out.setTextAlignment(Qt.AlignCenter) return out
def update_table(self, item): table = Categories().tables stylesheet = "::section{Background-color:rgb(176,224,230);border-radius:2px;}" self.setColumnCount(len(table[item][0])) self.setRowCount(len(table[item]) - 1) for i in range(len(table[item])): for j in range(len(table[item][i])): if i == 0: self.setHorizontalHeaderItem( j, QTableWidgetItem(table[item][i][j])) continue self.setItem(i - 1, j, QTableWidgetItem(table[item][i][j])) self.horizontalHeader().setStyleSheet(stylesheet) self.resizeColumnsToContents() self.horizontalHeader().setMaximumHeight(200)
def addRow_with_items(self): item = QTableWidgetItem() item.setText('') self.setRowCount(self.rowCount() + 1) self.setItem(self.rowCount() - 1, 0, item) # Note: new rowcount here label = QTableWidgetItem() label.setText('') self.setItem(self.rowCount() - 1, 1, label)
def update_list(self): self.table_widget.clear() self.table_widget.setHorizontalHeaderLabels( ["Name", "State", "Players", "Password?", "Creator"]) name_filter = self.filter_name_edit.text().strip() displayed_has_password = set() if self.has_password_yes_check.isChecked(): displayed_has_password.add(True) if self.has_password_no_check.isChecked(): displayed_has_password.add(False) displayed_states = set() for (check, state) in ((self.state_setup_check, GameSessionState.SETUP), (self.state_inprogress_check, GameSessionState.IN_PROGRESS), (self.state_finished_check, GameSessionState.FINISHED)): if check.isChecked(): displayed_states.add(state) visible_sessions = [ session for session in self.sessions if (session.has_password in displayed_has_password and session. state in displayed_states and name_filter in session.name) ] self.visible_sessions = visible_sessions self.table_widget.setRowCount(len(visible_sessions)) for i, session in enumerate(visible_sessions): name = QTableWidgetItem(session.name) state = QTableWidgetItem(session.state.user_friendly_name) players_item = QTableWidgetItem(str(session.num_players)) has_password = QTableWidgetItem( "Yes" if session.has_password else "No") creator = QTableWidgetItem(session.creator) self.table_widget.setItem(i, 0, name) self.table_widget.setItem(i, 1, state) self.table_widget.setItem(i, 2, players_item) self.table_widget.setItem(i, 3, has_password) self.table_widget.setItem(i, 4, creator) self.status_label.setText( f"{len(self.sessions)} sessions total, {len(visible_sessions)} displayed." )
def onCollectionsComboBoxIndexChanged(self): currentCollection = self.collectionsComboBox.currentText() keys = self.dbManager.findAllKeysInCollection(currentCollection) self.collectionTableWidget.clear() self.collectionHeaderKeyInfos.clear() self.collectionTableWidget.setColumnCount(3) self.collectionTableWidget.setHorizontalHeaderItem( 0, QTableWidgetItem("Key")) self.collectionTableWidget.setHorizontalHeaderItem( 1, QTableWidgetItem("Shown")) self.collectionTableWidget.setHorizontalHeaderItem( 2, QTableWidgetItem("Display Name")) self.collectionTableWidget.setRowCount(len(keys)) headerInfos = self.dbManager.extractCollectionHeaderInfo( [currentCollection]) headerKeyToInfo = {i.key: i for i in headerInfos} self.dbManager.collectionsMD.up rowIdx = 0 for key in keys: checkbox = QtWidgets.QCheckBox(self.widget) checkbox.setText("") headerInfo = headerKeyToInfo.get(key) if not headerInfo: headerInfo = CollectionHeaderKeyInfo(key, key, True) checkbox.setChecked(headerInfo.displayed) checkbox.stateChanged.connect( lambda: self.updateHeader(currentCollection)) self.collectionTableWidget.setItem(rowIdx, 0, QTableWidgetItem(key)) self.collectionTableWidget.setCellWidget(rowIdx, 1, checkbox) edit = QLineEdit() edit.setText(headerInfo.displayName) edit.textChanged.connect( lambda txt: self.updateHeader(currentCollection)) self.collectionTableWidget.setCellWidget(rowIdx, 2, edit) headerInfo.displayCheckbox = checkbox headerInfo.displayNameEdit = edit self.collectionHeaderKeyInfos.append(headerInfo) rowIdx += 1
def test_main_weights(qtbot): MainWindow = QMainWindow() ui = main.Ui_MainWindow() qtbot.addWidget(MainWindow) ui.setupUi(MainWindow) MainWindow.show() # Setup qtbot.keyClicks(ui.lineEdit, 'apple') qtbot.mouseClick(ui.pushButton, Qt.LeftButton) qtbot.keyClicks(ui.lineEdit, 'orange') qtbot.keyClick(ui.lineEdit, Qt.Key_Enter) qtbot.mouseClick(ui.combo_box, Qt.LeftButton) qtbot.keyClick(ui.combo_box, Qt.Key_Down) qtbot.keyClick(ui.combo_box, Qt.Key_Enter) qtbot.keyClicks(ui.lineEdit, 'taste') qtbot.mouseClick(ui.pushButton, Qt.LeftButton) qtbot.keyClicks(ui.lineEdit, 'color') qtbot.keyClick(ui.lineEdit, Qt.Key_Enter) # Neither clicks or tab key works ui.matrix_widget.setItem(0, 0, QTableWidgetItem('4')) assert ui.matrix.df.loc['Weight', 'taste'] == 4 assert ui.matrix_widget.item(0, 2).text() == '40.0' assert ui.matrix_widget.item(1, 2).text() == '0.0%' assert ui.matrix_widget.item(2, 2).text() == '0.0%'
def address_search(self): # Store input from form as string variables street_number_input = str(self.street_number.text()) street_name_input = str(self.street_name.text()) # Add column labels to result_table col_labels = ['BP Number', 'BP Name', 'City', 'State'] self.result_table.setHorizontalHeaderLabels(col_labels) # Connect to SAP and run query w number and name input sap_cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};" "Server=CASTLE2;" "Database=PQSYS_Prod;" "Trusted_Connection=yes;") cursor = sap_cnxn.cursor() query = "SELECT DISTINCT BpNumber, BpName, City, State FROM dbo.k_ContactSummary WHERE Street LIKE '" + street_number_input + "%' AND Street LIKE '%" + street_name_input + "%';" # Set row count to zero self.result_table.setRowCount(0) self.result_table.setColumnCount(4) # Add data from to table? for row_number, row_data in enumerate(cursor.execute(query)): self.result_table.insertRow(row_number) for column_number, data in enumerate(row_data): self.result_table.setItem(row_number, column_number, QTableWidgetItem(str(data))) self.result_table.resizeColumnsToContents()
def gen_items(self): values = [] flag = True for line_edit in self.findChildren(QLineEdit, ''): value = line_edit.text() if value == '': msg = QMessageBox() msg.setText('缺少必要信息!') msg.setWindowIcon(self.app_icon) msg.setWindowTitle('警告') msg.exec_() line_edit.setFocus() flag = False break values.append(value) if flag: info = dict(zip(FIELDS, values)) items = create_items(info) print(items) self.tbl.setRowCount(len(items)) row = 0 for item in items: for col in range(len(item)): newItem = QTableWidgetItem(str(item[col])) self.tbl.setItem(row, col, newItem) row += 1
def set_headers(self): for x in range(len(self.headers)): try: self.ui.tableWidget.setHorizontalHeaderItem( x, QTableWidgetItem(self.headers[x])) except IndexError: # not given all of the headers, just se the defaults for the others, which are from 1-length continue
def set_wedges(self): if self.ui.omega_wedges.rowCount() == 0: for i, wedge in enumerate(self.state['wedges']): self.ui.omega_wedges.insertRow(i) for j, value in enumerate(wedge): self.ui.omega_wedges.setItem(i, j, QTableWidgetItem(str(value)))
def __init__(self): super().__init__(10, 10) for r in range(0, 10): for c in range(0, 10): item = QTableWidgetItem("") self.setItem(r, c, item) self.empty()
def _remove_bank_item(self): """ Removes an item from one of the bank tables. Currently triggered via a button press. """ # Figure out which table the item is located in. # Known bug, this will always delete the first entry of an item # if multiple exist. Correcting this breaks the tables on macOS, # so best just to leave it alone for now. for i in range(32): item_left = self.ui.table_bank_left.cellWidget(i, 1) item_right = self.ui.table_bank_right.cellWidget(i, 1) if item_left is not None and \ item_left.objectName() == self.sender().objectName(): curr_table = self.ui.table_bank_left break elif item_right is not None and \ item_right.objectName() == self.sender().objectName(): curr_table = self.ui.table_bank_right break # Clear the item and determine if buttons need to be disabled. curr_table.setItem(i, 0, QTableWidgetItem(None)) curr_table.setCellWidget(i, 1, None) curr_table.clearSelection() # Reload the tables. item = self._has_item() self.ui.btn_export_bank.setEnabled(item) self.ui.btn_save_bank.setEnabled(item) self.ui.btn_clear_bank.setEnabled(item) self._get_bank_data()
def Bt(self): self.ui.tb.clearContents() m = self.ui.monBox.currentText() d = self.ui.dayBox.currentText() url = "https://api.jisuapi.com/todayhistory/query?appkey=79e0e0bd1ffe97d0&month=" + m + "&day=" + d r = requests.get(url) self.data = r.json()["result"] self.ui.tb.setRowCount(len(self.data)) for i in range(len(self.data)): line1 = QTableWidgetItem(self.data[i]["year"] + "年" + self.data[i]["month"] + "月" + self.data[i]["day"] + "日") self.ui.tb.setItem(i, 0, line1) line2 = QTableWidgetItem(self.data[i]["title"]) self.ui.tb.setItem(i, 1, line2)
def set_data(self, data): """ Wyświetla dane w tabeli i je formatuje. :param data: dict """ self.tbl_result.clear() row_count = (len(data)) column_count = (len(data[0])) role_id = {1: 'Użytkownik', 2: 'Pracownik', 3: 'Administrator'} self.tbl_result.setColumnCount(column_count) self.tbl_result.setRowCount(row_count) self.tbl_result.setHorizontalHeaderLabels((list(data[0].keys()))) if list(data[0].keys())[0] == 'id': self.tbl_result.hideColumn(0) if 'roleId' in list(data[0].keys( )) and self.lbl_title.text() != self._txt_permission: self.tbl_result.hideColumn(4) else: self.tbl_result.showColumn(4) for row in range(row_count): for column in range(column_count): item = (list(data[row].values())[column]) if column == 4 and self.lbl_title.text( ) == self._txt_permission: item = role_id.get(item) self.tbl_result.setItem(row, column, QTableWidgetItem(str(item))) self.tbl_result.resizeColumnsToContents() self.tbl_result.resizeRowsToContents()
def llenadoTabla(self, tabla, lista): '''llenado de datos a la tabla''' # vaciar QTableWidget tabla.setRowCount(0) # crea numero de filas con respecto a la lista # de elementos tabla.setRowCount(len(lista)) # RECORRER COLUMNAS Y LISTA DE ITEMS /*/*/*/*/*/*/*/*/*/*/*/*/*/ for fila, listaItem in enumerate(lista): """ fila = cantidad de listas de la lista listaItem = lista que contiene valores """ # CREAR BOTONES /*/*/*/*/*/*/*/*/*/*/*/*/*/ btn_uno = self.creabotones(estilo=(u""" QPushButton{background-color: #52CF33; color: white} QPushButton:hover{background-color: #32EF03} QPushButton:pressed{background-color: #43A02C}"""), icono='icons/edit.png', titulo=u' Editar', tooltip='Editar') btn_dos = self.creabotones(estilo=(u""" QPushButton{background-color: #DB224F; color: white} QPushButton:hover{background-color: #F41E52} QPushButton:pressed{background-color: #A91E40}"""), icono='icons/delete.png', titulo=u'Eliminar', tooltip='Eliminar') # AGRUPAR BOTONES /*/*/*/*/*/*/*/*/*/*/*/*/*/ layout = QHBoxLayout() layout.setContentsMargins(0, 0, 0, 0) # espaciado layout.setSpacing(0) # espaciado layout.addWidget(btn_uno) # agregar botones al layout layout.addWidget(btn_dos) widget = QWidget() widget.setLayout(layout) # widget de botones en la columna final tabla.setCellWidget(fila, tabla.columnCount() - 1, widget) # SINCRONIZAR ACCIONES /*/*/*/*/*/*/*/*/*/*/*/*/*/ self.boton_uno_coneccion(btn_uno, fila, tabla, listaItem) self.boton_dos_connecion(btn_dos, fila, tabla, listaItem) # AGREGAR ITEMS /*/*/*/*/*/*/*/*/*/*/*/*/*/ for columna, item in enumerate(listaItem): """ cantidad de elmentos de la lista = columna valor de la lista = item """ tabla.setItem(fila, columna, QTableWidgetItem(str(item))) # insertar items tabla.item(fila, columna).setTextAlignment( Qt.AlignCenter | Qt.AlignVCenter) # alinear items
def _fill_off_geometry_pixel_mapping(self, shape: OFFGeometryNexus): """ Fill in the pixel mapping information from an OFFGeometry component. :param shape: The shape data from the NeXus file. """ # Retrieve the detector face information from the shape and use this to create the required number of pixel # mapping widgets n_faces, detector_faces = self._get_detector_face_information(shape) self.create_pixel_mapping_table(n_faces, "face") # Populate the pixel mapping widgets based on the contents of the detector_faces array for detector_face in detector_faces: item = QTableWidgetItem() item.setData(Qt.DisplayRole, detector_face[1]) self.pixel_mapping_table_widget.setItem(detector_face[0], 1, QTableWidgetItem(item))
def on_move_history(self, item_index: int): assert self.display is not None history_item = self.display.log_display.items[item_index] self.display.update_board(history_item.game_state) choices = self.ui.choices choices.clear() choices.setColumnCount(len(history_item.choices)) choices.setVerticalHeaderLabels(['count', 'probability', 'value']) choices.setHorizontalHeaderLabels( [choice[0] for choice in history_item.choices]) for i, (choice, probability, count, value) in enumerate(history_item.choices): choices.setItem(0, i, QTableWidgetItem(f'{count}')) choices.setItem(1, i, QTableWidgetItem(f'{probability}')) choices.setItem(2, i, QTableWidgetItem(f'{value}')) choices.resizeColumnsToContents()
def __init__(self, parent, db, tablename, default_id = None, ): super(DBTableWidget,self).__init__(parent) sizePolicy = QSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding) self.setSizePolicy(sizePolicy) self.current_row = None self.selected_id = None self.db = db self.setFixedWidth(parent.width()) self.table = tablename self.dataquery = f"select * from {self.table}" self.clear() self.current_id = None records = self.db.execute(self.dataquery) self.setRowCount(len(records)) self.setColumnCount(len(self.db.tables[self.table].columns.keys())) self.setHorizontalHeaderLabels( self.db.tables[self.table].columns.keys()) i=0 for record in records: j=0 for k in record: self.setItem(i, j,QTableWidgetItem( str(k))) j+=1 i+=1 self.cellClicked.connect(self.check_row) self.selected_id = int(self.itemAt(0,0).text()) self.current_row = 0
def slot_set_item(self, item: QtWidgets.QTableWidgetItem): row = item.row() content = self.ui.tableWidget.item(row, 0).text() + " (" + self.ui.tableWidget.item(row, 1).text() + ", " + \ self.ui.tableWidget.item(row, 2).text() + ")" self.rowCurrent = row self.ui.lineEdit.setText(" " + str(row) + " - [ " + content + "]")
def update_percentage_display(self): it = zip(self.matrix.df.loc[:, 'Percentage'][1:], range(1, self.matrix_widget.rowCount())) for value, row in it: item = QTableWidgetItem(str(round(value, 2)) + '%') if (last_col := self.matrix_widget.columnCount()): self.set_item_uneditable(item, row, last_col - 1)
def show_current_page(self): try: global g_current_data self.current_page_inticator() self.last_page_indicator() if len(g_current_data) != 0: for row_number, row_value in enumerate(g_current_data): for item_number, item_value in enumerate(row_value): self.table_csv.setItem( row_number, item_number, QTableWidgetItem( list(row_value.values())[item_number]) ) roww = list(row_value.values()) if roww[4].isspace() or roww[4] == "" or \ roww[12] != str(0): self.paint(row_number, item_number) self.table_csv.setHorizontalHeaderLabels(backend.headers) self.table_csv.horizontalHeaderItem( item_number).setTextAlignment(QtCore.Qt.AlignHCenter) self.table_csv.resizeColumnsToContents() else: QMessageBox.about( self, "Предупреждение", "Файл пуст") except Lil_error as e: QMessageBox.about( self, "Предупреждение", str(e))
def afficheCentres(self, req): qt = self.ui qt.tableWidget.setRowCount(0) listCentres = reqPostgresql(req) nbCol = reqPostgresql("""SELECT count(*) FROM information_schema.columns WHERE table_name = 'centre';""") namesCol = reqPostgresql("""SELECT column_name FROM information_schema.columns WHERE table_schema = 'lafriterose' AND table_name = 'centre';""") namesCol.remove(('nom_image',)) self.namesColList = [] for name in namesCol: if re.match(r'id_*', name[0]): self.namesColList.append("") else: self.namesColList.append(name[0]) cpt_centre = 0 qt.tableWidget.setColumnCount(nbCol[0][0]-1) qt.tableWidget.verticalHeader().hide() qt.tableWidget.setHorizontalHeaderLabels(self.namesColList) for centre in listCentres: qt.tableWidget.setRowCount(cpt_centre + 1) cpt_elemCentre = 0 for elemCentre in centre: qt.tableWidget.setItem(cpt_centre, cpt_elemCentre, QTableWidgetItem(str(elemCentre))) cpt_elemCentre += 1 cpt_centre += 1
def populate_table(self, data): self.listBooksTable.setRowCount(len(data)) for (index_row, row) in enumerate(data): for(index_cell, cell) in enumerate(row): self.listBooksTable.setItem(index_row, index_cell, QTableWidgetItem(str(cell))) self.records_qty()
def setup_table(self, status=True): self.ui.masks_table.setRowCount(0) for i, key in enumerate(self.masks.keys()): # Add label self.ui.masks_table.insertRow(i) self.ui.masks_table.setItem(i, 0, QTableWidgetItem(key)) # Add checkbox to toggle visibility cb = QCheckBox() status = key in HexrdConfig().visible_masks cb.setChecked(status) cb.setStyleSheet('margin-left:50%; margin-right:50%;') cb.toggled.connect(self.toggle_visibility) self.ui.masks_table.setCellWidget(i, 1, cb) # Add push button to remove mask pb = QPushButton('Remove Mask') pb.clicked.connect(self.remove_mask) self.ui.masks_table.setCellWidget(i, 2, pb) # Connect manager to raw image mode tab settings # for threshold mask mtype, data = self.masks[key] if mtype == 'threshold': self.setup_threshold_connections(cb, pb)
def load(self): filename, basename, reference = load_image(self) if filename is None: return if reference.shape != self.evidence.shape: QMessageBox.critical( self, self.tr('Error'), self.tr('Evidence and reference must have the same size!')) return self.reference = reference self.reference_viewer.set_title( self.tr('Reference: {}'.format(basename))) self.difference = norm_mat(cv.absdiff(self.evidence, self.reference)) self.comp_label.setEnabled(True) self.normal_radio.setEnabled(True) self.difference_radio.setEnabled(True) self.ssim_radio.setEnabled(False) self.butter_radio.setEnabled(False) self.gray_check.setEnabled(True) self.equalize_check.setEnabled(True) self.metric_button.setEnabled(True) for i in range(self.table_widget.rowCount()): self.table_widget.setItem(i, 1, QTableWidgetItem()) self.normal_radio.setChecked(True) self.table_widget.setEnabled(False) self.change()
def updateSaisieEleve(self): cpt = 0 self.ui.tWTableNotation.clear() # self.ui.tWTableNotation.setColumnCount(2) # ça permettait de définir le nombre de colonne de la tableWidget si non défini dans le QtDesigner academie = self.ui.cBAcademie.currentIndex() etabliss = self.ui.cBEtablissement.currentIndex() cla = self.ui.cBClasseGPNote.currentIndex() dicoClasse = self.mesDatas["academies"][academie]["etablissements"][ etabliss]["classes"][cla] for eleve in dicoClasse["eleves"]: for matiere in eleve["matieres"]: mat = self.ui.cBMatiereGBNote.currentText() if matiere["nom"] == mat: nomE = eleve["nom"] self.ui.tWTableNotation.setRowCount(cpt + 1) itemE = QTableWidgetItem(nomE) self.ui.tWTableNotation.setItem(cpt, 0, itemE) # utiliser le QDoubleSpin permet de rentrer une note en transformant direct en float spinB = QDoubleSpinBox() spinB.setProperty("nom", nomE) self.ui.tWTableNotation.setCellWidget(cpt, 1, spinB) cpt += 1 self.ui.tWTableNotation.setHorizontalHeaderLabels(['Nom', 'Note'])
def update_existing_stream_info(self, field): """ Fill in stream fields and properties into the new UI field. :param field: The stream group """ if isinstance(field, Group): field = field.children[0] if hasattr(field, "parent_node") and isinstance( field.parent_node, Group): self.schema_validator.set_group(field.parent_node) else: self.schema_validator.set_group(None) schema = field.writer_module self.schema_combo.setCurrentText(schema) self.schema_validator.validate(schema, 0) self.topic_line_edit.setText(field.topic) self.topic_validator.validate(field.topic, 0) self.source_line_edit.setText(field.source) self.source_validator.validate(field.source, 0) if schema == WriterModules.F142.value: self.fill_in_existing_f142_fields(field) elif schema == WriterModules.EV42.value: self.fill_in_existing_ev42_fields(field) elif schema == WriterModules.ADAR.value: for i, val in enumerate(field.array_size): self.array_size_table.setItem(0, i, QTableWidgetItem(str(val)))
def load_right_table(self): """ Загружает имеющиеся предметы на складе в правую таблицу. """ for item in self.right_storage: row_pos = self.service_ui.right_table.rowCount() self.service_ui.right_table.insertRow(row_pos) self.service_ui.right_table.setItem( row_pos, 0, QTableWidgetItem(item.name)) self.service_ui.right_table.setItem( row_pos, 1, QTableWidgetItem(str(item.nominal))) self.service_ui.right_table.setItem( row_pos, 2, QTableWidgetItem(str(item.quantity))) self.service_ui.right_table.setItem( row_pos, 3, QTableWidgetItem(str(item.price))) self.service_ui.right_table.resizeColumnToContents(0)
def __init__(self, messages, hiddenLifelines, parent = None): super(HiddenMessageDialog, self).__init__(parent) self.lifelineList = hiddenLifelines self.msgList = messages layout = QVBoxLayout(self) listTitle = QLabel('Hidden Messages') layout.addWidget(listTitle) self.listHiddenMessages = QTableWidget(len(self.msgList),4) self.listHiddenMessages.setHorizontalHeaderLabels(['Index','Name','Departure','Destination']) self.listHiddenMessages.setFixedWidth(400) #self.listHiddenMessages.setSelectionMode(QtGui.QAbstractItemView.MultiSelection) self.listHiddenMessages.setSelectionBehavior(QAbstractItemView.SelectRows) for idx, msg in enumerate(self.msgList): self.listHiddenMessages.setItem(idx,0,QTableWidgetItem("%d" % msg['messageindex'])) self.listHiddenMessages.setItem(idx,1,QTableWidgetItem(msg['message'])) item = QTableWidgetItem(msg['departure']['class']) item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight) if msg['departure']['class'] in self.lifelineList: item.setForeground(QColor(200,200,200)) self.listHiddenMessages.setItem(idx,2,item) item = QTableWidgetItem(msg['dest']) item.setTextAlignment(QtCore.Qt.AlignmentFlag.AlignRight) if msg['dest'] in self.lifelineList: item.setForeground(QColor(200,200,200)) self.listHiddenMessages.setItem(idx,3,item) layout.addWidget(self.listHiddenMessages) buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel, QtCore.Qt.Horizontal, self) buttons.button(QDialogButtonBox.Ok).setText('Show') buttons.accepted.connect(self.accept) buttons.rejected.connect(self.reject) layout.addWidget(buttons)