如何在 QTableWidget 中仅获取包含值的行/列数?

Posted

技术标签:

【中文标题】如何在 QTableWidget 中仅获取包含值的行/列数?【英文标题】:How to get only number of rows/columns with values in them in a QTableWidget? 【发布时间】:2021-07-13 13:04:30 【问题描述】:

我在 PyQt5 上有一个默认为 20 列的表格小部件。只有前两列有任何值,其余为空。有什么方法可以返回其中包含值的列/行数。

这个new_cols = self.tableWidget.columnCount() 是我在返回列数时唯一能找到的。

【问题讨论】:

这取决于对你来说什么是空的,例如一个带有空字符串的项目:"" 对你来说是一个空项目? 【参考方案1】:

没有直接的方法,也没有“捷径”(除非您绝对确定如果某个行/列组合为空,则以下行和列也为空)。

以下假设您打算将“空”项目作为没有设置值的项目(包括已修改然后“清除”的项目)。

    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))

【讨论】:

以上是关于如何在 QTableWidget 中仅获取包含值的行/列数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在APEX SOQL查询中仅显示包含相同字段值的一条记录

如何从 qtablewidget 中的项目中获取文本?

如何在mailchimp中仅获取字段(列)

在 Oracle 中仅选择没有 Null 值的列

如何从返回多个 OUT 值的过程中仅访问一个 OUT 值?

如何选择包含按钮的 QTableWidget 单元格