2016-08-27 9 views
0

위젯이 그리드에 배치 된 QMainWindow가 있습니다. QGroupBox 내부에 배치 된 위젯을 제외하고 창 크기가 예상대로 조정되면 크기가 모두 비례하여 조정됩니다. QGroupBox 자체는 크기가 조정되지만 내부의 위젯은 같은 위치에 있습니다. QGroupBox에 레이아웃을 적용하면 위젯의 원래 위치가 느슨해집니다. PyQt4에서 .ui 파일을 사용하고 있습니다. 파일 here을 얻을 수 있습니다.QGroupBox 위젯이 나머지 윈도우로 동적으로 크기가 조정되지 않는 이유는 무엇입니까?

그리고이 발생하는 것입니다 :

enter image description here

enter image description here

+3

그룹 상자 내의 위젯은 레이아웃에 있어야합니다. 그들이 레이아웃에 없으면 크기는 고정되어 있습니다 (레이아웃은 크기, 레이아웃, 크기 조정을 관리하지 않습니다) – Fabio

+0

"위젯이 원래 위치를 잃었습니다"라고 할 때 당신은 무엇을 의미합니까? (추신 : 다른 사이트의 코드에 링크하지 마십시오. 질문 자체에 넣으십시오). – ekhumoro

+0

QGroupBox에 레이아웃을 적용하면 내부의 모든 위젯이 레이아웃 유형에 따라 자체 수용됩니다. 그리드 레이아웃이라 할지라도 스크린 샷에서 볼 수있는 곳에 머 무르지 않고 완전히 다른 위치를 차지합니다. – R01k

답변

2

Qt documentation on QGroupBox에서 :

QGroupBox 자동 자주 QCheckBoxes입니다 자식 위젯 (배치하지 않거나 QRadioButtons하지만 모든 위젯이 될 수 있음).

방법 (설정 최대 인스턴스 QFrame 같은 다른 객체들을 저장하는 어떤 의미 QWidget 기반 객체의 레이아웃 동일)를 설치 QGroupBox위한 레이아웃에 나타내는 예있다.

레이아웃을 만들고 QGroupBox::setLayout을 호출 한 다음 레이아웃에 위젯을 추가해야합니다. QtCreator를 사용하는 경우 QGroupBox을 마우스 오른쪽 단추로 클릭하고 컨텍스트 메뉴에서 사용할 레이아웃을 선택하십시오.

+0

고맙습니다. QGroupBox를 없애고 레이아웃이 제대로 작동 할 때까지 게임을 끝내기 시작했습니다. – R01k