[PyQt] HeightForWidth label
Mads Ipsen
madsipsen at gmail.com
Wed Jan 9 14:56:29 GMT 2013
Hi,
4-5 years I needed a widget with the following properties:
* Display text incl. HTML
* Text should be wrapped on several lines
* When the widget is put into a layout, the height of the widget
should be adjusted in such a way that the text exactly fits the
widget geometry
This subwidget should be used in a layout to provide some detail on how
the other GUI elements in the layout work but only consume a minimum
space to display its content.
I thought this was an easy one - but each time I return to the challenge
I always end by giving up.
The main problem is that the layout breaks down when heightForWidth() is
implemented and a QSizePolicy with setHeightForWidth(True) is used. It
can shrink to infinitely small. Apparently this is Qt bug.
Another approach is to call updateGeometry() when a resizeEvent() occurs
and call setFixedHeight(h) using a width dependent height. But this also
gives rise to some weird layout behavior.
If anybody has any good suggestions on how to approach this, please let
me know.
I attach a small snippet that reproduces the layout resizing behavior.
Best regards,
Mads
--
+-----------------------------------------------------+
| Mads Ipsen |
+----------------------+------------------------------+
| Gåsebæksvej 7, 4. tv | |
| DK-2500 Valby | phone: +45-29716388 |
| Denmark | email:mads.ipsen at gmail.com |
+----------------------+------------------------------+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20130109/929ccd73/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: height_for_width.py
Type: text/x-python
Size: 1291 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20130109/929ccd73/attachment.py>
More information about the PyQt
mailing list