Größe von `stackedWidget` bei Änderung der Seite auch anpassen

Python und das Qt-Toolkit, erstellen von GUIs mittels des Qt-Designers.
Antworten
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Hallo

Ich baue gerade mit dem Qt Designer (Qt5) an einer einfachen GUI für eine Steuerung.

Bei einem der beiden Gerätetypen gibt es mehr Optionen, also `QPushButton`, was man damit machen kann. Die jeweiligen Optionen habe ich auf 2 verschiedene Seiten in einem `stackedWidget` verpackt. Die Seite mit 4 `QPushButton` ist höher als die mit nur 2 `QPushButton`.

Nun würde ich gerne das `stackedWidget` so anpassen, dass sich das darunter befindliche `QTextEdit` Widget bei seiner Höhe an die Höhe der Buttons der aktiven Seite des `stackedWidget` anpasst. Während die 4 `QPushButton` die ganze Seite bzw. Fläche des `stackedWidget` einnehmen, erscheinen die 2 `QPushButton` vertikal mittig und haben oben und unten noch freien Platz. Die 2 `QPushButton` sollen aber oben liegen und das `QTextEdit` Widget nach oben hin vergrößert werden.

Wie stellt man das im Qt Designer ein?

mainwindow.ui

Code: Alles auswählen

<?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>601</height>
   </rect>
  </property>
  <property name="windowTitle">
   <string>MainWindow</string>
  </property>
  <property name="locale">
   <locale language="English" country="UnitedKingdom"/>
  </property>
  <widget class="QWidget" name="centralwidget">
   <layout class="QGridLayout" name="gridLayout_2">
    <item row="0" column="0">
     <widget class="QStackedWidget" name="stackedWidget">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
        <horstretch>0</horstretch>
        <verstretch>0</verstretch>
       </sizepolicy>
      </property>
      <property name="currentIndex">
       <number>1</number>
      </property>
      <widget class="QWidget" name="normal" native="true">
       <layout class="QGridLayout" name="gridLayout">
        <item row="0" column="0">
         <widget class="QPushButton" name="normal_start_button">
          <property name="text">
           <string>Start</string>
          </property>
         </widget>
        </item>
        <item row="0" column="1">
         <widget class="QPushButton" name="normal_stop_button">
          <property name="text">
           <string>Stop</string>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
      <widget class="QWidget" name="extended">
       <layout class="QGridLayout" name="gridLayout_3">
        <item row="0" column="0">
         <widget class="QPushButton" name="extended_quick_start_button">
          <property name="text">
           <string>Quick Start</string>
          </property>
         </widget>
        </item>
        <item row="0" column="1">
         <widget class="QPushButton" name="extended_stop_button">
          <property name="text">
           <string>Stop</string>
          </property>
         </widget>
        </item>
        <item row="1" column="0">
         <widget class="QPushButton" name="extended_slow_start_button">
          <property name="text">
           <string>Slow Start</string>
          </property>
         </widget>
        </item>
        <item row="1" column="1">
         <widget class="QPushButton" name="extended_pause_button">
          <property name="text">
           <string>Pause</string>
          </property>
         </widget>
        </item>
       </layout>
      </widget>
     </widget>
    </item>
    <item row="1" column="0">
     <widget class="QTextEdit" name="output"/>
    </item>
   </layout>
  </widget>
  <widget class="QMenuBar" name="menubar">
   <property name="geometry">
    <rect>
     <x>0</x>
     <y>0</y>
     <width>800</width>
     <height>24</height>
    </rect>
   </property>
  </widget>
  <widget class="QStatusBar" name="statusbar"/>
 </widget>
 <resources/>
 <connections/>
</ui>
Gruß

Atalanttore
Atalanttore
User
Beiträge: 407
Registriert: Freitag 6. August 2010, 17:03

Zur Veranschaulichung noch ein paar Screenshots.

Mit nur 2 `QPushButton` und ungenutzten Freiräumen oben und unten:
Bild

Mit 4 `QPushButton` und optimaler Ausnutzung des verfügbaren Platzes:
Bild

Gruß
Atalanttore
Antworten