2014-12-12 2 views
0

첨부 된 QT 디자이너의 예가 나와 있습니다. 내 목표는 내에서 QTabWidget의 맨 오른쪽으로 펼쳐진 (특히 lineEdit) 내부의 모든 콘텐츠를 가져 오는 것입니다.QTabWidget 콘텐츠가 확장되지 않음

알 수있는 경우 사진에서 탭을 선택했는데 현재 레이아웃이 표시되지 않습니다 (적색으로 표시됨). (가로, 세로, 그리드, 폼 등 ...) 탭 위에있는 버튼을 사용하여 레이아웃을 추가하려고 할 때, 내가 무엇을 하든지 상관없이 은 탭 레이아웃을 변경하지 않지만 아주 최상위 레벨 위젯 레이아웃 대신에을 쓰고 싶습니다. QTabWidget이 윈도우 크기에 관계없이 그 능력을 발휘할 수 있기 때문입니다.

탭 안에있는 요소에 수평 및 수직 레이아웃을 적용 해 보았습니다.하지만 작동하지 않을 수도 있지만 다음에 첨부 된 이미지가 표시 될 때도 작동하지 않았습니다. 나의 직감은 탭에 레이아웃이 없기 때문에 모든 레이아웃이 존중되지 않기 때문입니다.

QTabWidget Attempt With Layout On Items Within Tab

어떤 도움

에 감사드립니다. 나는 몇 시간을 보냈고 내 삶을 위해 그것을 이해할 수 없다 ...!

<?xml version="1.0" encoding="UTF-8"?> 
<ui version="4.0"> 
<class>xMarket</class> 
<widget class="QWidget" name="xMarket"> 
    <property name="geometry"> 
    <rect> 
    <x>0</x> 
    <y>0</y> 
    <width>737</width> 
    <height>421</height> 
    </rect> 
    </property> 
    <property name="sizePolicy"> 
    <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> 
    <horstretch>0</horstretch> 
    <verstretch>0</verstretch> 
    </sizepolicy> 
    </property> 
    <property name="windowTitle"> 
    <string>Form</string> 
    </property> 
    <property name="layoutDirection"> 
    <enum>Qt::LeftToRight</enum> 
    </property> 
    <layout class="QHBoxLayout" name="horizontalLayout"> 
    <item> 
    <widget class="QTabWidget" name="xMarketTabWidget"> 
    <property name="layoutDirection"> 
     <enum>Qt::LeftToRight</enum> 
    </property> 
    <widget class="QWidget" name="tab"> 
     <attribute name="title"> 
     <string>Tab 1</string> 
     </attribute> 
     <widget class="QLineEdit" name="lineEdit"> 
     <property name="geometry"> 
     <rect> 
     <x>240</x> 
     <y>30</y> 
     <width>113</width> 
     <height>21</height> 
     </rect> 
     </property> 
     </widget> 
     <widget class="QLabel" name="label"> 
     <property name="geometry"> 
     <rect> 
     <x>150</x> 
     <y>30</y> 
     <width>59</width> 
     <height>16</height> 
     </rect> 
     </property> 
     <property name="text"> 
     <string>Search:</string> 
     </property> 
     </widget> 
    </widget> 
    <widget class="QWidget" name="tab_2"> 
     <attribute name="title"> 
     <string>Tab 2</string> 
     </attribute> 
    </widget> 
    </widget> 
    </item> 
    </layout> 
</widget> 
<resources/> 
<connections/> 
</ui> 

답변

5

는, 탭에 상위 탭 위젯을 선택하려면 먼저 필요 레이아웃을 설정하려면 :

QTabWidget Not Expanding Example Image

아래는 UI의 XML입니다.

Object Inspector에서 이름으로 선택 (예 : xMarketTabWidget 클릭)하거나 탭 표시 줄에서 해당 탭을 클릭하기 만하면됩니다. 상위 탭 위젯은 탭 중 하나에서 레이아웃을 설정하기 전에 선택 사각형 주위에 선택 사각형이 있어야합니다.

일단 작업을 완료하면 Designer 도구 모음의 가로로 배치 또는 격자에서 배치 단추를 클릭하여 탭에 적합한 레이아웃을 설정할 수 있습니다. 그러나 탭에 레이아웃을 설정하려면 탭에 적어도 하나 이상의 하위 위젯이 있어야합니다. 빈 탭에 대해서는 레이아웃 버튼이 모두 비활성화됩니다.

+0

이 방법이 효과적이었습니다. 이전에 시도했지만, 올바르게 레이아웃을 설정할 수있었습니다. 고맙습니다! –

관련 문제