在填充表格行以避免添加空行时我缺少的东西。例如,如果插入的项目是两个,则在顶部再添加一个空行,依此类推:
def search_watchlist_category(self) -> None:
""" Get details watchlist based on the search word matches
:return None
"""
search_word = ErrorMessaging.remove_spaces(self.searchText.text())
if search_word == '':
self.watchlist_results.watchlistsTable.setRowCount(0)
self.watchlistButton.setText("Watchlist")
self.watchlistButton.setStyleSheet('color: #FFFFFF; background-color: #312624; border: 0px')
else:
search_query = search_word.split(' ')[0]
response = utils.search_watchlists(search_query)
self.watchlist_results.watchlistsTable.setRowCount(0)
matched_results = response['watchlist_details']
num_rows = len(matched_results)
self.watchlist_results.watchlistsTable.setRowCount(num_rows)
for watchlist_category in response['watchlist_details']:
self.watchlist_results.watchlistsTable.verticalHeader().setVisible(False)
self.watchlist_results.watchlistsTable.setShowGrid(False)
self.watchlist_results.watchlistsTable.horizontalHeader().setStyleSheet(
'background-color: transparent;')
self.watchlist_results.watchlistsTable.horizontalHeader().setSectionResizeMode(
QtWidgets.QHeaderView.ResizeToContents)
self.watchlist_results.watchlistsTable.horizontalHeader().setVisible(True)
checkbox_item = QtWidgets.QTableWidgetItem('')
checkbox_item.setFlags(checkbox_item.flags() | Qt.ItemIsUserCheckable |
QtCore.Qt.ItemIsSelectable)
checkbox_item.setCheckState(QtCore.Qt.Unchecked)
checkbox_item.setForeground(QtGui.QColor('#FFFFFF'))
watchlist_targets = utils.get_persons_of_interest_in_category(watchlist_category.id)
target_item = QtWidgets.QTableWidgetItem(str(len(watchlist_targets)))
target_item.setForeground(QtGui.QColor('#FFFFFF'))
watchlist_item = QtWidgets.QTableWidgetItem(f"{watchlist_category.name}")
watchlist_item.setForeground(QtGui.QColor('#FFFFFF'))
watchlist_item.setData(Qt.UserRole, watchlist_category.id)
watchlist_item.setData(Qt.UserRole + 1, watchlist_category.date_created)
watchlist_item.setData(Qt.UserRole + 2, watchlist_category.description)
watchlist_item.setData(Qt.UserRole + 3, watchlist_category.color)
row_position = self.watchlist_results.watchlistsTable.rowCount()
self.watchlist_results.watchlistsTable.insertRow(row_position)
self.watchlist_results.watchlistsTable.setItem(row_position - 1, 0, checkbox_item)
self.watchlist_results.watchlistsTable.setItem(row_position - 1, 1, watchlist_item)
self.watchlist_results.watchlistsTable.setItem(row_position - 1, 2, target_item)
self.watchlistButton.setText("Watchlist(" + str(num_rows) + ")")