问题描述
我在 PyQt5 上有一个 tablewidget,默认数量为 20 列。只有前两列有任何值,其余的都是空的。有什么方法可以返回包含值的列/行数。
这个 new_cols = self.tableWidget.columnCount()
是我在返回列数时唯一能找到的。
解决方法
没有直接的方法可以做到这一点,也没有“捷径”(除非您绝对确定如果某个行/列组合为空,那么后面的行和列也为空)。
以下假设您打算将“空”项目作为未设置值的项目(包括已修改然后“清除”的项目)。
def dataExtent(self):
maxRow = maxCol = -1
for row in range(self.tableWidget.rowCount()):
for col in range(self.tableWidget.columnCount()):
item = self.tableWidget.item(row,col)
if not item or not item.text():
continue
maxRow = row
maxCol = max(maxCol,col)
print('Max row: {}\nMax column: {}'.format(
maxRow + 1,maxCol + 1))