[PyKDE] Dynamic layouts
boud at rempt.xs4all.nl
Thu Mar 15 07:17:33 GMT 2001
On Wednesday 14 March 2001 21:39, you wrote:
> I had trouble with removing/adding widgets to layouts too. FWIW, here are
> some things that worked for my situation. Note: I was using Qt 1.44, so
> some of this might be out of date.
> I gave up on using HBox and VBox layouts. Instead, I used GridLayouts with
> only one row/column. The advantage is that you can directly access specific
> cells. The disadvantage is that you have to use addWidget and addLayout to
> insert insert the contents. You have to do more of your own bookkeeping,
> but you have more control.
> For my application, I kept python references to the widgets in the layout
> cells. When I wanted to change a widget, I first unreferenced it
> (self.myWidget = None). The Qt destructors automatically remove deleted
> widgets from any layouts in which they appear (I'm sure I saw this in the
> Qt docs somewhere, but I can't find the reference right now). Then I
> created a new one and used addWidget to add it to the now-empty cell.
> Hope that helps.
Well, I tried using QLayout classes, too, and keeping Python references, too.
However, setting those references to None didnn't remove the widgets, since
there are still references from the parent widget (QMainWindow) and from the
QLayoutItems. I think that this PyQt behaviour is relatively new.
Boudewijn Rempt | http://www.valdyas.org
More information about the PyQt