检查 QTableWiget 特定列中的空单元格并删除该行

Check for empty cell in a particular column of a QTableWiget and remove the row

我的 QTableWidget 中有 2 列,第一列填充文本,第二列填充组合框。

在我的 table 中,有几行没有填充组合框,因为它们未能完成我所做的一项检查,因此,在它们的第二列中,没有组合框创建后它们显示为空单元格。

如何检查第二列中的此类空单元格并删除整行?

我在网上搜索解决方案时尝试了以下方法:

for row in xrange(self.my_table.rowCount()):
    column_cell = self.my_table.item(row, 1)
    column_text = str(column_cell.text())
    if column_text.isEmpty():
        self.my_table.removeRow(row_position)

我收到以下错误: # AttributeError: 'NoneType' object has no attribute 'text' # 我想这是因为我的单元格不是行编辑等所以没有文本?

我该如何解决这个问题?

检查单元格是否包含小部件比检查它是否包含任何文本更有意义。此外,您必须在 reverse 中进行迭代,以便删除行不会影响剩余行的索引:

for row in reversed(xrange(self.my_table.rowCount())):
    widget = self.my_table.cellWidget(row, 1)
    if widget is None:
        self.my_table.removeRow(row)