def build_table_rows(self, query): items = query.fetchall() rows = len(items) if not rows: self.clear_child_table() self.search_result = QLabel() self.search_result.setObjectName("search_result") self.search_result.setText("No results ...") self.second_layout_keys_childs.addWidget(self.search_result) return self.table.setRowCount(rows) for pos, item in enumerate(items): cell_title = QTableWidgetItem(item[1]) cell_title.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_title.setToolTip(item[1]) cell_login = QTableWidgetItem(item[2]) cell_login.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_login.setToolTip(item[2]) cell_email = QTableWidgetItem(item[3]) cell_email.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_email.setToolTip(item[3]) cell_password = QTableWidgetItem("********") cell_password.setStatusTip(f"{item[0]}") cell_password.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_url = QTableWidgetItem(item[4]) cell_url.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_url.setToolTip(item[4]) cell_phone = QTableWidgetItem(item[5]) cell_phone.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_created = QTableWidgetItem(item[6]) cell_created.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) cell_modified = QTableWidgetItem(item[7]) cell_modified.setTextAlignment(Qt.AlignLeft | Qt.AlignVCenter) self.table.setItem(pos, 0, cell_title) self.table.setItem(pos, 1, cell_login) self.table.setItem(pos, 2, cell_email) self.table.setItem(pos, 3, cell_password) self.table.setItem(pos, 4, cell_url) self.table.setItem(pos, 5, cell_phone) self.table.setItem(pos, 6, cell_created) self.table.setItem(pos, 7, cell_modified) for row in range(rows): self.table.setRowHeight(row, 45)