我想删除在QTableWidget中选择的多行。任何人都可以有任何想法吗?
答案 0 :(得分:2)
您可以一次删除多个项目,提示,开始从底部删除行。对不起,我不是VS2008开发人员,但这个解决方案可以轻松转换为VS2008代码。这里是Python代码。对于迟到的回复感到抱歉:)
# Delete the selected mytable lines
deleteRows(self.mytable.selectionModel().selectedRows())
# DeleteRows function
def deleteRows(self, rows):
# Get all row index
indexes = []
for row in rows:
indexes.append(row.row())
# Reverse sort rows indexes
indexes = sorted(indexes, reverse=True)
# Delete rows
for rowidx in indexes:
self.mytable.removeRow(rowidx)
答案 1 :(得分:0)
如果要删除表末尾的某些行,可以尝试使用setRowCount(int row)。
我一直在寻找一种方法来删除表中不同位置的多个选定行。
我最终从底部迭代我选择的列表以删除我的表格。
答案 2 :(得分:0)
QList<QTableWidgetItem*> itemList = widget->selectedItems();
for(int i = 0; i < itemList.size(); i++) {
widget->removeCellWidget(itemList.at(i)->row(), itemList.at(i)->column());
}
答案 3 :(得分:-1)
也许这会有所帮助:
QList<QTableWidgetItem*> selected_itms = ur_table->selectedItems();
while( !selected_itms.isEmpty() )
{
QTableWidgetItem *itm = selected_itms.at(0);
ur_table->removeRow(itm->row());
selected_itms = ui.tblw_entries->selectedItems();
}