2014-07-09 2 views
0

현재 양식에 다음 구조가 있습니다. QScrollArea가있는 QFrame (갈색)이 있습니다. 이제 여러 개의 QFrames가 QScrollArea (회색)에 동적으로 추가됩니다. 동적으로 추가 된 QFrame은 QLabel로 구성됩니다.QscrollArea가 가로 스크롤 막대를 표시하지 못하도록 함

enter image description here

지금 여기에 내가 QScrollArea에 수평 스크롤을 비활성화 한 문제입니다. 따라서 가로 스크롤 막대가 나타나지 않습니다. 문제는 동적으로 추가 된 QFrame (회색)이 QScrollArea에 추가되었을 때입니다. 프레임의 절반이 잘립니다. 내가 수평으로 스크롤 할 방법이 없기 때문입니다. 내가 원하는 것은 동적으로 추가 된 Qframe을 가로 대신 세로로 확장하는 것입니다. 어떤 제안?

업데이트 : 내가 그들을 만드는 동안 동적으로 생성 된 프레임에 대한 적절한 수평 크기 정책을 설정 QScrollArea

+0

내부 프레임을 어떻게 추가합니까? 'QScrollArea' 내부에 레이아웃이 있습니까? 그렇지 않은 경우 추가하십시오. – SingerOfTheFall

+0

예 QScrollArea 안에 QVBoxLayout이 있습니다. – Rajeshwar

+0

프레임의 크기 정책을 혼란시켜야합니다. 수평 크기 정책에'Fixed', 수직 방향에 대해'minimumExpanding' 또는 비슷한 것을 시도하십시오. – SingerOfTheFall

답변

0

내부 QVBoxLayout이 . 하나의 옵션은 고정 크기 (QSizePolicy :: Fixed)이고 다른 하나는 QSizePolicy :: Maximum입니다. 매우 직관적이지는 않지만 실제로 최대 값은 프레임이 sizeHint()에 지정된 크기보다 크지 않음을 의미합니다. 기능). 위젯을 수직으로 확장하려면 세로 크기 정책을 QSizePolicy :: MinimumExpanding 또는 QSizePolicy :: Expanding으로 설정하십시오.

관련 문제