2011-04-05 4 views
3

QGroupBox을 내용에 맞게 내용의 크기로 만들려고합니다. 정확히 어떻게 작동하는지 이해하지 못한다고 생각합니다.이 이상한 상황에 처하게됩니다. 가로 레이아웃에 2 개의 버튼이 있는데, 이것을 QGroupBox 안에 넣었습니다. 버튼을 클릭 할 때 디버깅 정보를 인쇄하기위한 슬롯을 추가했습니다 (디버깅 코드가 실행될 때 창이 완전히로드되도록).Qt4 레이아웃을 그룹 상자에 넣습니다.

QGroupBoxsizeHint은 (-1, -1)을 반환하지만 QGroupBox의 가로 레이아웃은 올바른 sizeHint입니다. QGroupBox의 sizeHint가 (-1, -1) 인 이유는 무엇입니까? 나는 sizeHint이 유효하지 않다면 sizeConstraintsizePolicyQGroupBox에 영향을 미치지 않기 때문에이 문제가 다른 모든 문제를 일으킨다 고 생각합니다. 상위 위젯이 하위 레이아웃보다 약간 큰 sizeHint을 가질 것으로 예상했습니다.

위젯과 레이아웃은 디자이너와 함께 만들어집니다 (어쩌면 관련이있어서 복잡한 인터페이스가 있으므로 디자이너를 사용해야합니다).

업데이트 : 내가 setupUi 방법에서 생성 된 코드를 보았고, 중간 위젯은 버튼 레이아웃이 위젯에 배치되고 해당 위젯이 QGroupBox에 위치, 만든 것 같다. 이 기능은 디자이너에서 레이아웃을 위젯 내부에 배치하고 크기를 조정할 수있는 기능이라고 생각합니다. 디자이너를 사용할 때이 위젯을 건너 뛸 수 있습니까?

답변

4

. 나는 해결책을 찾았고, 디자이너에서 레이아웃을 원하는 위젯을 선택한 다음 그리드/양식/가로 등 단추/메뉴에서 레이아웃을 클릭합니다. 이 옵션은 보이지 않는 위젯을 생성하고 레이아웃에 선택된 위젯을 놓고 그 레이아웃을 보이지 않는 위젯으로 설정합니다. 이를 피하기 위해 그룹 상자를 클릭하고 레이아웃 컨텍스트 메뉴를 클릭하고 메뉴를 설정하면 위젯이 정렬되지만 레이아웃은 위젯 트리에 표시되지 않습니다.

2

QGroupBox 위젯에 실제로 set the layout이 없기 때문에이 부분이 맞을 것으로 생각됩니다. 당신의 창 생성자에 다음 줄을 추가하면 문제를 해결할 경우 참조 : 그룹 상자horizontalLayoutQGroupBox 및 문제 QHBoxLayout입니다

ui->groupBox->setLayout(ui->horizontalLayout); 

.

+0

네, 그게 원인이지만 내가 디자이너 내부에서 일하는 것을 볼 수 있도록 디자이너 솔루션이 필요했습니다. 저는 컴렉스 인터페이스에서 작업하고 있습니다. 나는 해결책을 찾았고, 디자이너에서 레이아웃을 원하는 위젯을 선택한 다음 그리드/양식/가로 등 단추/메뉴에서 레이아웃을 클릭합니다. 이 옵션은 보이지 않는 위젯을 만들고, 선택된 위젯을 레이아웃에 놓고, 그 레이아웃을 보이지 않는 위젯으로 설정합니다. 이를 피하기 위해 그룹 상자를 클릭하고 레이아웃 컨텍스트 메뉴를 클릭하고 메뉴를 설정하면 위젯이 정리되지만 레이아웃은 위젯 트리에서 가능하지 않습니다. – simion314