<div dir="ltr"><div>Would appreciate some help here.<br></div>I don't like how these stacked widgets take up all of this vertical space when the window is resized.<br>I have tried setting a size policy to minimum on the stacked widgets but no luck.<br>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 23, 2013 at 4:02 PM, Eric Frederich <span dir="ltr"><<a href="mailto:eric.frederich@gmail.com" target="_blank">eric.frederich@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Here is a small example.<br>I tried putting a vertical spacer on the bottom yet these stacked widgets want to take up space when resized.<br>
<br>#!/usr/bin/env python<br><br>from PyQt4.QtCore import *<br>from PyQt4.QtGui import *<br>
<br>class TestWidget(QWidget):<br>    def __init__(self, labels, parent=None):<br>        super(TestWidget, self).__init__(parent)<br><br>        layout = QGridLayout()<br>        for i, output in enumerate(labels):<br><br>

            layout.addWidget(QLabel(output), i, 0)<br>            combo = QComboBox()<br>            combo.addItems([<br>                "Slider",<br>                "Spinner",<br>            ])<br>            layout.addWidget(combo, i, 1)<br>

<br>            stack = QStackedWidget()<br><br>            horizontalSlider = QSlider()<br>            horizontalSlider.setOrientation(Qt.Horizontal)<br><br>            spinner = QSpinBox()<br><br>            spinner.valueChanged.connect(horizontalSlider.setValue)<br>

            horizontalSlider.valueChanged.connect(spinner.setValue)<br><br>            stack.addWidget(horizontalSlider)<br>            stack.addWidget(spinner)<br><br>            combo.currentIndexChanged.connect(stack.setCurrentIndex)<br>

<br>            layout.addWidget(stack, i, 2)<br><br>        vertical_spacer = QSpacerItem(0, 0, QSizePolicy.Minimum, QSizePolicy.Expanding)<br>        layout.addItem(vertical_spacer, len(labels), 0, 1, 3)<br><br>        self.setLayout(layout)<br>

<br>if __name__ == '__main__':<br>    import sys<br>    app = QApplication(sys.argv)<br>    ocw = TestWidget(['a', 'b', 'c', 'd', 'e'])<br>    ocw.show()<br>    sys.exit(app.exec_())<br>

<br></div>
</blockquote></div><br></div>