要删除QTableWidget中的行或者列,由于QTableWidget中只存在自带函数self.removeRow(int)、self.removeColumn(int),且每次执行后行列数都会变换。如果要对多个选择的行或列同时进行删除,需要使用一个简单降序算法。
#函数如下:
def _deleteRows(self):
"""
删除所选择行
:return:
"""
print('删除所选择行')
s_items=self.selectedItems()#获取当前所有选择的items
if s_items:
selected_rows=[]#求出所选择的行数
for i in s_items:
row=i.row()
if row not in selected_rows:
selected_rows.append(row)
for r in range(len(sorted(selected_rows))):
self.removeRow(selected_rows[r]-r)#删除行