2016-08-03 85 views
0

我收到物品的當前行和當前列。我想清除它。但我找不到明確()QTableWidgetItem Class。我該怎麼做?PyQt如何清除表中的物品

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? 
+0

您想清除整個表格還是隻清除某一行和列中的一個小部件? –

+0

「清」的意思是什麼?你想從表格中完全刪除這些項目,還是隻刪除它們包含的文本?或者是其他東西? – ekhumoro

+0

對不起,我沒有說清楚我的問題。該項目不是一排或一列,它喜歡** tablewideget.item(row,colum)**。我想刪除特定項目的數據,所以我可以插入新的數據,並且我不想刪除單元格。謝謝。 –

回答

0

如果您想清除一個特定的數據項,那麼只需使用適當的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) 
+0

謝謝,它工作:) –