我的QTableWidget中有2列,第一列填充了文本,第二列填充了组合框。
在我的表格中,有几行没有填充组合框,因为它们未能完成我所做的其中一项检查,因此,在第二列中,没有创建组合框并且它们显示为空细胞
如何检查第二列中的空单元格并删除整行?
我在网上搜索解决方案时尝试了以下内容:
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' #
我想这是因为我的单元格不是行编辑等,所以没有文字?
如何解决这个问题?
答案 0 :(得分:1)
检查单元格是否包含窗口小部件更有意义,而不是它是否包含任何文本。此外,您必须迭代 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)