PyQt如何清除qtablewidget中的项目

Posted

技术标签:

【中文标题】PyQt如何清除qtablewidget中的项目【英文标题】:PyQt how to clear items in tablewidget 【发布时间】:2016-08-03 09:27:17 【问题描述】:

我得到了一个项目的当前行和当前列。我想清除它。但是我在QTableWidgetItem Class中找不到clear()。我该怎么做?

def items_clear(self):
    items=self.tableWidget.selectedItems()
    row=items[0].row()
    row2=items[1].row()
    col=items[0].column()
    col2=items[1].column()
    #  how to clear items?

【问题讨论】:

是清除整个表格还是只清除某行某列的一个小部件? “清晰”到底是什么意思?您想从表格中完全删除这些项目,还是只删除它们包含的文本?还是别的什么? 对不起,我的问题没有说清楚。该项目不是行或列,它喜欢 tablewideget.item(row,colum) 。我想删除特定项目的数据,以便向其中插入新数据。我不想删除单元格。谢谢。 【参考方案1】:

如果你想清除一项特定的数据,那么只需使用适当的setter方法来重置默认值。所以要清除所有选定项目上的文本:

def items_clear(self):
    for item in self.tableWidget.selectedItems():
        item.setText('')

如果您想清除项目的所有数据(即文本、图标、字体、检查状态等),那么设置一个新项目可能是最简单的:

def items_clear(self):
    for item in self.tableWidget.selectedItems():
        newitem = QtGui.QTableWidgetItem()
        self.tableWidget.setItem(item.row(), item.column(), newitem)

【讨论】:

以上是关于PyQt如何清除qtablewidget中的项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在 PyQt5 QTableWidget 中获取选定索引中的项目总和

如何在PyQt QTableWidget中获取seletedIndexes中的项目总和

如何使用 PyQt5 Python 将 QTableWidget 数据转换为 PDF

Pyqt如何获取文本为空的QTableWidget项目对象

使用 PyQt/PySide 禁用 QTableWidget 中特定列中的排序箭头

如何从 QComboBox 中获取所选项目以显示在 PyQt5 的 QTableWidget 中? (QComboBox 有复选框来选择项目)