[PyQt] strange extra spacing between checkboxes
Mark Summerfield
mark at qtrac.eu
Mon Nov 19 08:09:38 GMT 2007
On 2007-11-19, Shriramana Sharma wrote:
> Hello.
>
> Nobody has replied to this mail of mine from last week. Please can
> anyone look into it and reply? Thanks.
>
> Please see the attached program. It's a simple todo program I wrote.
> "Kartavya" means "Something that needs to be done" in Sanskrit.
>
> I want to know why the spacing between the list items increases when
> items are added and how I can stop that from happening. The spacing
> between the list items must be constant whether there are items or not.
The reason that the spacing varies is that Qt's layout system is
content-sensitive---that is, it gives room in proportion to what is
actually needed.
However, you can override that:
height = QFontMetrics(window.font()).height()
for i in range ( 10 ) :
checkboxes [ i ] . setEnabled ( False )
checkboxes [ i ] . setContentsMargins ( 5, 5, 5, 5 )
checkboxes[i].setMaximumHeight(height)
checkboxes[i].setMinimumHeight(height)
mainLayout . addWidget ( checkboxes [ i ] )
Note that this might fail, for example if the font is changed
dynamically. It also means that the minimum size of the widget becomes
fixed (10 * (height + (2 * margin))).
--
Mark Summerfield, Qtrac Ltd., www.qtrac.eu
More information about the PyQt
mailing list