2016-10-23 4 views
0

나는이 아키텍처가 :레이아웃에 QFrame을 넣을 수없는 이유는 무엇입니까?

enter image description here

을하지만 당신이 볼 수 있듯이 sfmlFrame는 "게임장"레이아웃에 있지 않습니다. 그래서 창 크기를 조정해도 sfmlFrame은 그대로 유지되고 resizeEvent은 실행되지 않습니다.

XML :

<widget class="QWidget" name="gameRoom"> 
     <layout class="QGridLayout" name="gridLayout_4"> 
     <item row="0" column="0"> 
     <widget class="QFrame" name="sfmlFrame"> 
      <property name="frameShape"> 
      <enum>QFrame::StyledPanel</enum> 
      </property> 
      <property name="frameShadow"> 
      <enum>QFrame::Raised</enum> 
      </property> 
     </widget> 
     </item> 
     </layout> 

당신이 sfmlFrame가 레이아웃에 넣을 수없는 이유 아이디어를 가지고 있나요?

편집 : enter image description here

+0

왜 게임 룸 레이아웃이 그리드입니까? 안쪽에 프레임이 필요한 경우 gameRoom 레이아웃을 Vertical (QVBoxLayout) 또는 Horizontal (단일 자식은 중요하지 않음)으로 변경하십시오. –

답변

2

프레임 레이아웃 안에 오브젝트 트리의 "깨진 레이아웃"아이콘 프레임 자체가 레이아웃이 없음을 나타냅니다.

+0

프레임에만 레이아웃을 추가하려고했지만 여전히 작동하지 않습니다. 여전히 끊어진 레이아웃 아이콘이 있습니다. –

+0

레이아웃을 어떻게 "추가"했습니까? 프레임을 선택하고 레이아웃 도구 모음 버튼 중 하나를 누르십니까? –

+0

"gameRoom"페이지에 새 레이아웃을 추가합니다. 내 프레임에 레이아웃을 직접 추가 할 수는 없습니다. 회색조입니다. 나는 스크린을 추가했다. –

관련 문제