개발/Python

PyQt : 개별 헤더에 대해 다른 헤더 크기를 어떻게 설정합니까?

MinorMan 2021. 1. 9. 18:56
반응형

<질문>

두 개의 항목 (단어와 숫자)이 포함 된 목록이 있는데이 목록은 테이블 위젯을 사용하여 표시됩니다.

내 목표는 두 개의 열과 필요한 행이있는 테이블을 생성하는 것이지만 단어가있는 열의 헤더는 숫자 열보다 커야합니다.

내용에 열 크기 조정을 사용할 수 있지만 크기 조정 후 테이블 주위에 흰색 빈 공백이없는 테이블을 원합니다.

GUI 코드 생성을 위해 QtDesigner를 사용하고 있습니다.


<답변1>

몇 가지 방법이 있습니다.QHeaderView당신이 원하는 것을 할 수있는 수업. 가장 간단한 방법은 다음과 같습니다.

table.horizontalHeader().setStretchLastSection(True)

이렇게하면 마지막 열이 테이블의 사용 가능한 공간에 맞게 자동으로 크기가 조정되고 다른 열의 너비는 그대로 유지됩니다 (사용자가 크기를 조정할 수 있음).

또는 설정 방법이 있습니다.ResizeMode열의.

Qt5의 경우 :

table.setColumnWidth(1, 80)
table.horizontalHeader().setSectionResizeMode(0, QHeaderView.Stretch)

Qt4의 경우 :

table.setColumnWidth(1, 80)
table.horizontalHeader().setResizeMode(0, QHeaderView.Stretch)

이렇게하면 두 번째 열의 너비가 고정되고 첫 번째 열의 크기가 자동으로 조정되어 나머지 공간을 채 웁니다 (그러나 사용자가 다른 크기를 조정할 수 없음).


<답변2>

이를위한 최상의 솔루션Qt5당신은 사용해야합니다setSectionResizeMode대신에setResizeMode:

tabv = QTableView()
tabv.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)

또는

tabv.horizontalHeader().setSectionResizeMode(1)
반응형