2017-04-03 12 views
0

QLayouts의 작동 방식을 파악하는 데 많은 어려움을 겪고 있습니다. 기본적으로 MainWindow 프로젝트를 시작한 다음 새로운 QWidget 기반 폼을 추가하여 QLineEdits 및 QLabels를 수평 레이아웃으로 배치하여 점선 쿼드 입력 편집기로 사용합니다. 미리보기에서 모두 잘 어울립니다.QCreator의 Qt 레이아웃

그런 다음 MainWindow 클래스에 QWidget을 추가하고 DottedQuadEdit 클래스로 수준을 올립니다. 레이아웃에 없지만 레이아웃에 추가되면 OK입니다. 크기가 0으로 축소됩니다.

나는 모든 다양한 크기 정책, 크기 설정, 레이아웃 구성 등을 모두 성공하지 못했습니다. 승격 된 클래스는 레이아웃에 올 때까지 괜찮습니다. 레이아웃에 추가되면 보이지 않게됩니다.

저는 많은 튜토리얼과 Qt 문서를 살펴 보았지만 실제로 레이아웃이 실제로 어떻게 작동하는지에 대해서는 제대로 설명하지 않았습니다.

+0

StackOverflow에 레이아웃 자습서를 작성했습니다. 여기에서 볼 수 있습니다 : https://stackoverflow.com/documentation/qt/9380/about-using-layouts-widget-parenting#t=201704031930582621633. 어쩌면 우리가 한 일에 대해 더 많은 코드를 제공 할 수 있고 그것에 대해 이야기 할 수 있습니다. 내 자습서에 문제가있는 경우 나에게도 질문 할 수 있습니다. –

답변

0

Gabriel이 언급했듯이 코드를 보여주는 것이 도움이 될 것입니다. 내 생각에 귀하의 QWidget에는 Qt Creator에 정의 된 최소 크기가 없기 때문에 합법적으로 0 크기로 접을 수 있습니다. 최소 크기 매개 변수는 QWidget에 대해 편집 할 수있는 특성의 일부입니다. 의미있는 크기로 실험 해보십시오. 그런 다음 크기가 최소, 선호, 확장 등으로 재생할 수도 있습니다.

레이아웃과는 별도로 배치하면 끌 때 크기를 유지합니다. 일단 레이아웃에 배치하면 레이아웃은 크기를 관리하며 최소한 레이아웃을 자유롭게 크기를 조정하여 아무 것도 변경할 필요가 없습니다.

0

QLineEdits 및 QLabels을 추가 한 QWidget 기반 양식의 레이아웃을 설정 했습니까? 폼의 레이아웃도 지정해야합니다.