<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>