LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

Но мне все равно непонятно, почему нельзя в инспекторе объектов, выбрать нужную вкладку, и по правой кнопке удалить компоновку (ну или добавить).

Издержки сложного виджета просто.

Почему нельзя выбрать вкладку визуально (на конструируемой форме) и использовать кнопки компоновки из основного меню (которое вверху).

Почему это? Всё прекрасно компонуется по кнопкам из меню вверху. Если просто выбрать виджет-контейнер (вкладку, например) и нажать кнопку компоновки.
Вот смотри:

  1. Кидаешь на форму TabWidget;
  2. Кидаешь на вкладку TabWidget'а несколько виджетов:
    1. RadioButton;
    2. CommandLinkButton;
    3. TableWidget.
  3. С помощью Ctrl выделяешь CommandLinkButton и RadioButton и нажимаешь кнопку Lay Out Horizontally (Ctrl + H), получив слой horizontalLayout;
  4. С помощью Ctrl выделяешь horizontalLayout и TableWidget и нажимаешь в меню сверху Lay Out Vertically (Ctrl + L), получешь слой verticalLayout, который позиционирован абсолютно;
  5. Выбираешь активную вкладку (кликая на TabWidget), нажимаешь в меню сверху Lay Out Vertically (Ctrl + L), теперь виджет-контейнер TabWidget (первая вкладка) скомпонован относительно;
  6. Кликаешь на форму (пустое место на виджете-контейнере MainWindow), нажимаешь в меню сверху Lay Out Vertically (Ctrl + L), теперь форма полностью скомпанована;
  7. При желании переключаешься на вторую вкладку (Tab 2) и повторяешь пункты 2-5.

Такая вот форма, MainWindow.ui:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>296</width>
    <height>312</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
       <number>1</number>
      </property>
      <widget class="QWidget" name="tab">
       <attribute name="title">
        <string>Tab 1</string>
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <layout class="QVBoxLayout" name="verticalLayout">
          <item>
           <widget class="QTableWidget" name="tableWidget">
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
           </widget>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout">
            <item>
             <widget class="QCommandLinkButton" name="commandLinkButton">
              <property name="text">
               <string>CommandLinkButton</string>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QRadioButton" name="radioButton">
              <property name="text">
               <string>RadioButton</string>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tab_2">
       <attribute name="title">
        <string>Tab 2</string>
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_5">
        <item>
         <layout class="QVBoxLayout" name="verticalLayout_4">
          <item>
           <widget class="QTableWidget" name="tableWidget_2">
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
           </widget>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_2">
            <item>
             <widget class="QCommandLinkButton" name="commandLinkButton_2">
              <property name="text">
               <string>CommandLinkButton</string>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QRadioButton" name="radioButton_2">
              <property name="text">
               <string>RadioButton</string>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>

Исходная версия EXL, :

Но мне все равно непонятно, почему нельзя в инспекторе объектов, выбрать нужную вкладку, и по правой кнопке удалить компоновку (ну или добавить).

Издержки сложного виджета просто.

Почему нельзя выбрать вкладку визуально (на конструируемой форме) и использовать кнопки компоновки из основного меню (которое вверху).

Почему это? Всё прекрасно компонуется по кнопкам из меню вверху. Если просто выбрать виджет-контейнер (вкладку, например) и нажать кнопку компоновки.
Вот смотри:

  1. Кидаешь на форму TabWidget;
  2. Кидаешь на вкладку TabWidget'а несколько виджетов:
    1. RadioButton;
    2. CommandLinkButton;
    3. TableWidget.
  3. С помощью Ctrl выделяешь CommandLinkButton и RadioButton и нажимаешь кнопку Lay Out Horizontally (Ctrl + H), получив слой horizontalLayout;
  4. С помощью Ctrl выделяешь horizontalLayout и TableWidget и нажимаешь в меню сверху Lay Out Vertically (Ctrl + L), получешь слой verticalLayout, который позиционирован абсолютно;
  5. Выбираешь активную вкладку (кликая на TabWidget), нажимаешь в меню сверху Lay Out Vertically (Ctrl + L), теперь виджет-контейнер TabWidget (первая вкладка) скомпонован относительно;
  6. Кликаешь на форму (пустое место на виджете-контейнере MainWindow), нажимаешь в меню сверху Lay Out Vertically (Ctrl + L), теперь форма полностью скомпанована;
  7. При желании переключаешься на вторую вкладку (Tab 2) и повторяешь пункты 2-5.

Такая вот форма, MainWindow.ui:

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>MainWindow</class>
 <widget class="QMainWindow" name="MainWindow">
  <property name="geometry">
   <rect>
    <x>0</x>
    <y>0</y>
    <width>296</width>
    <height>312</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralWidget">
   <layout class="QVBoxLayout" name="verticalLayout_3">
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <property name="currentIndex">
       <number>1</number>
      </property>
      <widget class="QWidget" name="tab">
       <attribute name="title">
        <string>Tab 1</string>
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <layout class="QVBoxLayout" name="verticalLayout">
          <item>
           <widget class="QTableWidget" name="tableWidget">
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
           </widget>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout">
            <item>
             <widget class="QCommandLinkButton" name="commandLinkButton">
              <property name="text">
               <string>CommandLinkButton</string>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QRadioButton" name="radioButton">
              <property name="text">
               <string>RadioButton</string>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tab_2">
       <attribute name="title">
        <string>Tab 2</string>
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_5">
        <item>
         <layout class="QVBoxLayout" name="verticalLayout_4">
          <item>
           <widget class="QTableWidget" name="tableWidget_2">
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <row>
             <property name="text">
              <string>New Row</string>
             </property>
            </row>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
            <column>
             <property name="text">
              <string>New Column</string>
             </property>
            </column>
           </widget>
          </item>
          <item>
           <layout class="QHBoxLayout" name="horizontalLayout_2">
            <item>
             <widget class="QCommandLinkButton" name="commandLinkButton_2">
              <property name="text">
               <string>CommandLinkButton</string>
              </property>
             </widget>
            </item>
            <item>
             <widget class="QRadioButton" name="radioButton_2">
              <property name="text">
               <string>RadioButton</string>
              </property>
             </widget>
            </item>
           </layout>
          </item>
         </layout>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
   </layout>
  </widget>
 </widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
</ui>