Code main.py:
import sys
from PyQt5.QtWidgets import QApplication, QScrollArea, QWidget, QGridLayout, QVBoxLayout
from PyQt5 import QtGui , uic
from PyQt5.QtGui import QDrag
class MainWidget(QWidget):
def __init__(self, *args, **kwargs):
super().__init__()
uic.loadUi('test006-001.ui' , self)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
w = MainWidget()
# w.show()
sys.exit(app.exec_())
test006-001.ui
:
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>698</width>
<height>635</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QScrollArea" name="scrollArea">
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>-37</y>
<width>315</width>
<height>598</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLineEdit" name="lineEdit"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_2"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_3"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_4"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_13"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_5"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_12"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_11"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_6"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_16"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_14"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_7"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_15"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_8"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_9"/>
</item>
<item>
<widget class="QLineEdit" name="lineEdit_10"/>
</item>
</layout>
</widget>
</widget>
</item>
<item row="0" column="1">
<widget class="QScrollArea" name="scrollArea_2">
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>315</width>
<height>305</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</widget>
</item>
<item row="1" column="0">
<widget class="QScrollArea" name="scrollArea_3">
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_3">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>315</width>
<height>304</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</widget>
</item>
<item row="1" column="1">
<widget class="QScrollArea" name="scrollArea_4">
<property name="verticalScrollBarPolicy">
<enum>Qt::ScrollBarAlwaysOn</enum>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_4">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>315</width>
<height>304</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
I tried different size policies etc in Designer but cannot accomplish my goal of having always the for QScrollAreas of same size while resizing my main Widget, I get it only at full screen and smallest size :
but not at intermediate sizes :
Any idea about how to force keeping same size while resizing ?