가변 길이의 텍스트를 포함하는 마지막 열이있는 QTableWidget이 있습니다.QHeaderView : 열의 내용 크기에 따른 스트레치 또는 ResizeToContents
QHeaderView의 마지막 섹션을 섹션의 크기에 따라 내용을 늘리거나 크기를 조정하려고합니다. 콘텐츠 크기가 위젯의 남은 공간을 초과하지 않는 경우 위젯에서 추한 공간이 생기지 않도록 늘리려합니다. setStretchLastSection(True)
을 사용하여이 작업을 수행 할 수 있습니다. 그러나 내용 크기가 확장 된 열을 초과하면 열의 크기가 조정되지 않으므로 내용의 마지막 부분이 잘립니다. QHeaderView는이 경우에 ResizeToContents
ResizeMode를 제공하지만 짧은 내용의 경우에는 위젯을 채워지지 않은 채로 둡니다.
필자는 수동으로 열 크기의 크기를 조정할 것을 고려했습니다. 죄송 합니다만 sectionSizeFromContents()
이 (가) 보호되어 있으므로 콘텐츠 크기에 직접 액세스 할 수 없습니다. QHeaderView 하위 클래스 및 reimplement 수있을 것 같아요하지만 더 나은 솔루션이 있는지 궁금 해서요.
보호 된 메서드는 pyqt에서 액세스 할 수 있습니다. python을 사용하지 않는 경우 pyqt 태그를 제거하십시오. 귀하의 질문에서. – ekhumoro
pyqt5를 사용하고 있습니다. 'sectionSizeFromContents()'를 호출하려고 할 때, 다음 예외를 얻습니다 :'RuntimeError : 보호 된 함수 나 파이썬에서 생성되지 않은 객체에 대한 신호에 접근하지 못합니다. ' – tsabsch
예, 단지'QHeaderView' 인스턴스를 생성하고 테이블에 설정하십시오. 하위 클래스를 만들 필요가 없습니다. – ekhumoro