본문 바로가기

프로그래밍

PyQt5 QtTableWidget 값 변경 후 값 너비로 컬럼 크기 조정

테이블 위젯 내에 값들을 할당하고
해당 값들의 너비로 컬럼을 자동으로 resize하는 기능을 정리했다.
 
핵심은 테이블위젯의 setSizeAdjustPolicy()와 resizeColumnsToContents() 함수의 실행이다.
 
QTableWidget에 해당하는 내용으로
대상의 값들을 임의로 채우고 테스트 해보자.
 
 
일반적으로는 이런식으로 너비가 QtDesigner에서 그린 너비로 처음에 나오게 된다.
 
 
위 같은 형태로 만들어보자.테이블은 testTable로 object name을 할당했다.
 
table의 내용을 모두 채우는 동작을 하고 아래와 같이 정책을 설정하고 resize를 실행하자.
 
self.testTable.setSizeAdjustPolicy(QtWidgets.QAbstractScrollArea.AdjustToContents)
self.testTable.resizeColumnsToContents()
 
위 함수 QTableWidget에 직접 속한 함수는 아니며
 
QAbstractScrollArea > QAbastractItemView > QTableView 구조로 상속받은 함수 setSizeAdjustPolicy를 통한 크기조정 정책설정
QTableView 로 부터 상속받은 resizeColumnsToContents() 함수를 이용한 처리이다.