[PyQt] Resizing index widgets
Mads Ipsen
mads.ipsen at gmail.com
Tue Jan 29 21:31:14 GMT 2013
Hi,
We develop a tool for manipulating atomic structures and have embedded
all the manipulation widgets in a panel bar (widget on the right in
attached screen0.png). The Panel bar has expandable buttons, which upon
expansion display different interfaces for manipulating the atomic
structures.
The whole thing is implemented using a MVC approach using a QTreeView
and an overloaded QItemDelegate class used for handling painting of the
buttons, sizeHints, etc. The widget interfaces however, are displayed by
setting setIndexWidget() on the tree view.
This works fine if the widgets have a fixed size. However if the atomic
structure changes (molecule to crystal), previously hidden GUI elements
may be shown in the widget, which gives rise to a compressed (bad)
layout since the index widget has a fixed size (screen1.png).
The only way I could fix this was to use an idle time, that keeps
triggering the emission of the signal
sizeHintChanged(const QModelIndex & index)
from the delegate. This immediately triggers a smooth update of the
index widget resulting in screen2.png. From a user perspective it works
fine, but to me it appears somewhat hacky. Is there eg. a way to monitor
layout changes in visible index widgets?
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/20130129/6ed62f94/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screen0.png
Type: image/png
Size: 156089 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20130129/6ed62f94/attachment-0003.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screen1.png
Type: image/png
Size: 174706 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20130129/6ed62f94/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: screen2.png
Type: image/png
Size: 161804 bytes
Desc: not available
URL: <http://www.riverbankcomputing.com/pipermail/pyqt/attachments/20130129/6ed62f94/attachment-0005.png>
More information about the PyQt
mailing list