如何清除pyqt QTableWidget?

GSa*_*ngs 6 pyqt qtablewidget python-2.7

我想清除我的QTableWidget.

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

self.tableFriends.clear()
Run Code Online (Sandbox Code Playgroud)

数据消失但行仍然存在.

我填写的代码是:

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
Run Code Online (Sandbox Code Playgroud)

Jos*_*eph 11

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

while (self.tableFriends.rowCount() > 0)
{
    self.tableFriends.removeRow(0);
}
Run Code Online (Sandbox Code Playgroud)

你也可以尝试:

tableFriends.setRowCount(0);
Run Code Online (Sandbox Code Playgroud)

但这可能行不通,自从我使用Qt以来已经有一段时间了.

  • 非常感谢.我添加了tableFriends.setRowCount(0),这就足够了. (4认同)