[Qt-interest] QLayout Disaster (resizing)

Paul England pengland at cmt-asia.com
Tue Jul 14 08:04:42 CEST 2009


Scott

One of the issues here that a widget within each view can be resized 
(columns hidden and unhidden).
I had given though to what you talked about... perhaps a spacer with a 
minimum size set.  This does not seem to work.  As per before, 
everything within the layout is never resized.  It's just that each 
layout "overlaps" the other one.

> What you may want to consider...
>
> Have a inner widget which has a fixed size policy, use all the layouts
> you want.  But set the size policy of the widget to fixed, also set the
> maximum size to the minimum size to the minimumSizeHint..
> Then have an outer widget with a horizontal stretch to the right, and a
> vertical stretch to below.
>
> It should give you what you want
>
> Scott
>
> -----Original Message-----
> From: qt-interest-bounces at trolltech.com
> [mailto:qt-interest-bounces at trolltech.com] On Behalf Of Paul England
> Sent: Monday, July 13, 2009 6:19 PM
> To: qt-interest at trolltech.com
> Subject: Re: [Qt-interest] QLayout Disaster (resizing)
>
> Hi
>
> Thanks for the response.
>
> I'm mainly using the layouts to keep the widgets grouped.  I can't think
>
> of an easier (not to mention more elegant) way coding wise to do it, 
> considering each my_view_t has several widgets (a few QTableWidgets, a 
> few QPushButtons, QLineEdits, and so on).  I'm not adverse to throwing 
> them out entirely, but I don't want to have to keep up with the 
> coordinates of each object... I'd have to calculate again where each one
>
> goes for example when the font size is changed.
>
>  >>fixed size layouts don't make a lot of sense
>
> Interesting.  I'm curious as to why there's a SetFixedSize property in 
> the QLayout namespace.  Although it's behavior definitely agrees with 
> your philosophy.
>
> Paul
>   
>> On 14.07.09 09:13:03, Paul England wrote:
>>   
>>     
>>> This is driving me nuts, so before I tinker any more I should make
>>>       
> sure 
>   
>>> what I'm trying to achieve is even possible.
>>>
>>> My application is a QDialog, which has quite a few nested 
>>> QHBoxLayouts/QVBoxLayouts and other QWidgets (QPushButtons,
>>>       
> QLineEdits, 
>   
>>> and QTableWidgetItems for the most part).
>>>
>>> I set all of my Layouts to sizeConstraint to QLayout::SetFixedSize,
>>>       
> and 
>   
>>> I put in an stretch of -1.  The stretch works perfectly.  If the GUI
>>>       
> is 
>   
>>> resized to anything larger than the necessary space, everything stays
>>>       
>
>   
>>> positioned (in the top left-hand corner).  However, when the GUI is 
>>> resized to something smaller, the view_layout is definitely resized.
>>>       
>
>   
>>> Each my_view_t within it keeps it's relative position (all of the 
>>> widgets within it keep their relative spacing and sizng) but they
>>>       
> will 
>   
>>> overlap with each other.  So, if I have a QTableWidget within each 
>>> my_view_t, if I resize the GUI small enough, I have 3 QTableWidgets 
>>> overlapping one another.   This is obviously bad, and I can't figure
>>>       
> out 
>   
>>> exactly where I'm messing it up.  The desired effect would be that
>>>       
> the 
>   
>>> GUI simply resizes, but all the widgets inside are of a static size.
>>>       
> If 
>   
>>> the user only wants to "see" one of the my_view_t's, he just resizes
>>>       
> the 
>   
>>> window to the desired size.
>>>     
>>>       
>> You're misusing layouts, fixed size layouts don't make a lot of sense,
>>     
> you
>   
>> could just as well leave away the layouts and position your widgets
>>     
> with
>   
>> absolute coordinates. This will also "fix" your current problems,
>>     
> widgets
>   
>> that are outside of the smaller size will just be clipped.
>>
>> Andreas
>>
>>   
>>     
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
>   




More information about the Qt-interest-old mailing list