Сделать содержимое и вкладку расширяемой в pyqt5 - PullRequest
1 голос
/ 15 марта 2019

вот что я пытаюсь решить в QT Creator. Я хочу, чтобы содержимое виджета со вкладками, а также сам виджет вкладок можно было растягивать в зависимости от размера экрана. До сих пор я искал решения для StackOverflow, но не смог найти ни одного.

Небольшой пример:

enter image description here

Как указывалось в других ответах, я организовал все содержимое в макете Grid, который обладает этими свойствами.

enter image description here

На самом деле я даже добавил одно и то же значение Expanding ко всем объектам в списке. Но, несмотря на это, я все еще получаю фиксированный виджет вкладок, когда открываю его в полноэкранном режиме.

enter image description here

Есть предложения, как сделать вкладку виджетом, чтобы заполнить все окружающее пространство? Заранее спасибо!

UPD 1: Поделиться также моим .ui https://gist.github.com/Ren22/41ca0dc0333a360775aec530d6f38a62

1 Ответ

4 голосов
/ 15 марта 2019

Политика размера работает только в том случае, если геометрия виджета обрабатывается макетом, поэтому решение состоит в том, чтобы установить QTabWidget в качестве centralwidget, чтобы он щелкнул правой кнопкой мыши область, находящуюся вне QTabWidget, но внутри QMainWindow, а затем нажмите на значок enter image description here или enter image description here значок в верхней части Qt Designer, генерирующий следующее:

<?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>800</width>
    <height>600</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QVBoxLayout" name="verticalLayout">
    <item>
     <widget class="QTabWidget" name="tabWidget">
      <widget class="QWidget" name="tab">
       <attribute name="title">
        <string>Tab 1</string>
       </attribute>
       <layout class="QVBoxLayout" name="verticalLayout_2">
        <item>
         <widget class="QListWidget" name="listWidget"/>
        </item>
        <item>
         <widget class="QPushButton" name="pushButton">
          <property name="text">
           <string>PushButton</string>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="tab_2">
       <attribute name="title">
        <string>Tab 2</string>
       </attribute>
      </widget>
     </widget>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>30</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>
...