[PySide] sliding widgets into position

Tibold Kandrai kandraitibold at gmail.com
Fri Apr 27 07:47:39 CEST 2012


Try this out ;)
http://pastebin.com/a04tvY0U

Cheers,
Tibold

On 2012-04-27 02:11, Frank Rueter | OHUfx wrote:
> So I've followed Tibold's advice and sorted out some other ugly stuff
> and am a bit closer.
> My problem now is that, because I am not adding the top and bottom
> frames to the layout anymore (to avoid the middle frame shifting), I
> now can't get the right size and position relative to the centre frame.
>
> This is what I have now a bit cleaned up and with comments:
> http://pastebin.com/wrUX5Ce0
>
> By making the middle frame the parent to the top and bottom frames
> they line up to it now in the upper left corner - cool, one step forward.
> But I can't get the top and bottom frames to have the same width as
> the parent and also don't know how to control the position properly so
> that the bottom frame is always positioned in the bottom left corner
> of the centre frame.
> The size policy isn't inherited either which I'm a bit clueless a bout
> too.
>
> Sorry for the noob questions but have looked online for tutorials on
> this sort of positioning to no avail.
>
> Thanks in advance for any help!
>
> Cheers,
> frank
>
>
> On 4/27/12 10:08 AM, Frank Rueter | OHUfx wrote:
>> Thanks Tibold, I will have a look at that.
>> I'm still not sure how to figure out the positioning in a procedural
>> way though.
>> Will investigate more.
>>
>> Cheers,
>> frank
>>
>> On 4/26/12 6:53 PM, Tibold Kandrai wrote:
>>> Hi,
>>>
>>> Try to subclass QDockWidget. You will have to set it's geometry
>>> manually. Also if you want the widgets to pop up above the centralWidget
>>> than don't add the dock widgets to any layout. Simply add them with the
>>> main window as their parent, and raise them when you show them.
>>> Using this technique I managed to implement auto hiding widgets like in
>>> Visual Studio. It's not trivial, but it's possible.
>>> Actually if you don't need any of the QDockWIdget's functionality you
>>> can do the same with a QFrame as well. Same logic, override it's
>>> geometry, and don't add them to the grid layout. Adding the widgets to
>>> the grid layout will always push the central widget.
>>>
>>> Cheers,
>>> Tibold
>>>
>>> On 2012-04-26 08:42, Frank Rueter | OHUfx wrote:
>>>> Hi,
>>>>
>>>> end of day for me and my brain has gone numb, so I'm probably missing 
>>>> the obvious:
>>>>
>>>> I'm trying to create a widget with three areas: top, middle and bottom 
>>>> (using QFrames as place holders for now).
>>>> The middle frame is meant to be visible from the start containing some 
>>>> text and other widgets, when the button is pushed, the top frame is 
>>>> meant to slide down into view and the bottom frame is meant to slide up 
>>>> into view, so that I'm left with a controllable vertical arrangements of 
>>>> those three frames.
>>>> Here is my ugly attempt so far:
>>>> http://pastebin.com/index/bNJ9zeUm
>>>>
>>>> Things do move but I can't control the start and end positions properly 
>>>> and the GridLayout adjusts itself when showing the extra frames, so that 
>>>> the middle frame jumps. I have no idea how to set the size hints etc. to 
>>>> define the start and end positions of the sliding QFrames generically 
>>>> and avoid the jumping middle frame (might have to go with an alternative 
>>>> approach to QGridLayout?!).
>>>>
>>>> Any help would be greatly appreciated.
>>>>
>>>> Frank
>>>> _______________________________________________
>>>> PySide mailing list
>>>> PySide at qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/pyside
>>>
>>>
>>> _______________________________________________
>>> PySide mailing list
>>> PySide at qt-project.org
>>> http://lists.qt-project.org/mailman/listinfo/pyside
>>
>>
>> _______________________________________________
>> PySide mailing list
>> PySide at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/pyside
>
>
> _______________________________________________
> PySide mailing list
> PySide at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/pyside

-- 
Tibold Kandrai,
CEO @ Dotz Team I/S,
Software developer, consultant

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20120427/67afea1c/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 552 bytes
Desc: OpenPGP digital signature
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20120427/67afea1c/attachment.sig>


More information about the PySide mailing list