Hi peeps,

The Qt documentation informs us that the proper way to replace the 
layout on a widget is to first delete the current layout and then 
install a new one. Setting a new layout before the previous one is 
deleted won't work. All fine and dandy.

The C++ syntax for removing a widget's layout is:

  delete widget.layout();

However, the Python equivalent does not work:

  del widget.layout()

In Python, del only unlinks the named reference from its current 
namespace, triggering the actual deletion if the object's refcount 
falls to 0.

Meaning that 1) you can't call del on the method call itself, and 2) if 
you assign the method call's return value to a local variable to be 
deleted, then del only unlinks that variable but the layout itself 
still has a reference from the widget, and is thus not deleted.

Am I missing something? Is this an oversight in PyQt, or is there a 
nice, clean Python equivalent that I've overlooked?

Thanks!

-- S.

_______________________________________________
PyKDE mailing list    PyKDE@mats.imk.fraunhofer.de
http://mats.imk.fraunhofer.de/mailman/listinfo/pykde

Reply via email to