如何清空一个 PyQT QTableWidget?

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个回答

29
你需要逐个移除行,例如:

while (self.tableFriends.rowCount() > 0)
{
    self.tableFriends.removeRow(0);
}

你也可以尝试:

tableFriends.setRowCount(0);

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


8
非常感谢。我添加了"tableFriends.setRowCount(0)",这就足够了。 - GSandro_Strongs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接