关于PyQt5同时删除所选择的QTableWidget的row行或column列

要删除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)#删除行

你可能感兴趣的:(PyQt5,python,python)