如何清除 pyqt QTableWidget?

Posted

技术标签:

【中文标题】如何清除 pyqt QTableWidget?【英文标题】:how can I clear a pyqt QTableWidget? 【发布时间】:2015-05-29 18:15:13 【问题描述】:

我想清除我的 QTableWidget。

首先,我在 qcombobox 中选择一个用户,然后单击 qpushbutton 并从数据库记录中填充它;当我选择其他用户并单击 qpushbutton 添加数据时,我尝试清除:

self.tableFriends.clear()

数据消失,但行仍然存在。

我填充的代码是:

def getFriends(self):
    id_us = self.cbUser.itemData(self.cbUser.currentIndex()).toPyObject()
    rowIndex = 0
    self.tableFriends.clear()
    for row in self.SELECT_FRIENDS(id_us):
        self.tableFriends.insertRow(rowIndex)
        for column in range(0,3):
            newItem = QtGui.QTableWidgetItem(str(row[column]).decode('utf-8'))
            self.tableFriends.setItem(rowIndex,column,newItem)
        rowIndex = rowIndex + 1

【问题讨论】:

【参考方案1】:

您需要单独删除行,例如:

while (self.tableFriends.rowCount() > 0)

    self.tableFriends.removeRow(0);

你也可以试试:

tableFriends.setRowCount(0);

但这可能行不通,我已经有一段时间没有使用 Qt 了。

【讨论】:

非常感谢。我添加了 tableFriends.setRowCount(0) 就足够了。

以上是关于如何清除 pyqt QTableWidget?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PyQt5 中设置 QTableWidget 的单元格样式?

如何在pyqt中更改Qtablewidget的特定单元格背景颜色

python pyqt5 QTableWidget 设置表头

PyQt5-高级控件使用(QTableWidget)

QTableWidget 和 PyQt4 中的列宽

如何将文本与QTableWidget中的单元格中心对齐