Python/PyQt5

[PyQt5] QTableWidget sortingEnabled 사용시 에러 주의

컴닥 2022. 1. 10. 10:52
반응형

QTableWidget sortingEnabled 

테이블의 컬럼명을 클릭하면 정렬을 해주는 기능인데 
한 번 써보면 끊을 수 없을 정도로 편리한 기능이다. 

하지만 소팅이 걸린 상태에서 데이터를 집어 넣으면 다운될 수 있다. 

새로 입력되는 데이터에 대한 정렬을 계속 반복해
오버로드가 발생해서 그런 것 같다. (아님 말고)

테이블에 데이터 입력 시에는 소팅을 해제하자.

view = self.tb_search_result
view.setSortingEnabled(False)

입력이 끝나고 가능으로 바꿔주면 된다. 

 

selectionChanged

비슷한 것으로 selectionChanged 가 있다.

이 기능을 사용하면,
키보드로 테이블을 이동할 때도 이벤트가 발생한다.
마우스로 일일히 클릭할 필요가 없다.
역시 끊을 수 없을 정도로 편리하다. 

self.tb_search_result.selectionModel().selectionChanged.connect(self.tb_search_result_clicked)

하지만 이 이벤트를 사용 중에 데이터를 넣으면 다운될 수 있다. ㅠ,.ㅠ

끊어줘야 한다. 

self.tb_search_result.selectionModel().selectionChanged.disconnect()
반응형