[PyQt] Question about laying out widgets.

Christian chrisde88 at yahoo.de
Thu Apr 2 18:02:02 BST 2009

Hi Gabriele,
the incorrect line is:

       GeneralLayout.addWidget(self.summaryBox, 3, 0)

this line needs to be changed to:

       GeneralLayout.addWidget(self.summaryBoxScroll, 3, 0)

Because the summaryBox is a child of the Scroll Area, summaryBoxScroll 
and you should add only the top item.

But the result is very ugly, you have a scroll area, which contains the 
group box. Instead I would put the scroll area into the group box:

       self.summaryBox = QGroupBox("Project Management Layout")

       self.summaryBoxTopLayout = QVBoxLayout()
       self.summaryBoxTopLayout.setContentsMargins(1, 1, 1, 1)

       self.summaryBoxScroll = QScrollArea()

       self.summaryBoxTopWidget = QWidget()

       self.summaryBoxLayout = QFormLayout(self.summaryBoxTopWidget)

Further you should increase the initial frame size a bit.


PS: if you would bother me, i wouldn't help you. I am happy that I can 
help you!

Gabriele Visconti wrote:
> Dear Christian,
> thanks again so much for helping me out this much.
> Shame on me for bothering you so much but there's still something I 
> can't understand.
> All that rows which grows as far as I press the 'add' button are 
> included into a QGroupBox widget. I want to make that QGroupBox 
> scrollable otherwise the widget and therefore the main wondow are 
> growing without stop as the rows are added inside the QGroupBox.
> To do the scroll I created a QScrollArea widget and then 
> QScrollArea.setWidget(QGroupBox). This is what is mentioned in the 
> example by Trolltech and in the PyQt documentation. However the 
> QGroupBox remains unscrollable. I tried to specify the 
> QGroupBox.setMaximumHeight() and the 
> QGroupBoxLayout.setSizeConstraint() but without effect: everything 
> just grows without limit.
> I tried to create a childQGroupBox to contain the rows, make 
> QScrollArea.setWidget(childQGroupBox) and then add both the 
> childQGroupBox and the QScrollArea to the mainGroupBox, but also this 
> had no effect.
> Have you got any hint? What am I messing up?
> I attached the code so far.
> Thanks so much again!
> Gabriele <http://wizandchips.wordpress.com/>

More information about the PyQt mailing list