[PySide] animate QStackedLayout?

Aaron Richiger a.richi at bluewin.ch
Sat Apr 7 20:13:33 CEST 2012


Thanks Juande for pointing this out. Fixed it in the following version 
at pastebin:

Only one page visible:
http://pastebin.com/kP1rdLHx

Good luck with finding the eggs!


> Hi Aaron,
>
> Pretty cool your solutions!
>
> Just a comment about animated_widgets_with_only_one_widget, there is 
> an visibility issue when window is resize.
>
> Happy Easter!
> Juande
>
>> Hello Frank!
>>
>> I slightly changed my code to your new informations and added 
>> comments for better understanding;-)! I also changed the sorting 
>> method to show you a possibility to separe checked from unchecked 
>> checkboxes. Because I first thought, that multiple pages must be 
>> visible at once, I created two versions, but according to your mail, 
>> the second possibility will meet your requirements closer I guess. 
>> But the multi-version might be interesting for others:
>>
>> Mutliple pages visible:
>> http://pastebin.com/hW0zeL4P
>>
>> Only one page visible:
>> http://pastebin.com/cjn0UuA9
>>
>> Easter-greetings
>>
>>
>>
>>
>>
>>
>>
>>
>> Am 07.04.2012 01:51, schrieb Frank Rueter | OHUfx:
>>> I agree, it does seem off, which is why I'm throwing it out here to 
>>> get some ideas on how to tackle this from more experienced peeps.
>>>
>>> I will try to clarify what I'm after:
>>> The idea is to have a collection of buttons per category, let's say 
>>> a "page" of buttons. When the category is chosen via the buttons on 
>>> the left, the requested page with buttons slides into view pushing 
>>> the current one out of view. It's like an animated toolbox.
>>>
>>> I like your suggestion, will investigate.
>>>
>>> Cheers,
>>> frank
>>>
>>>
>>>
>>> On 6/04/12 11:31 PM, Sebastian Elsner wrote:
>>>> This Approach seems really off, Frank. I am not really getting what 
>>>> you want to do, maybe you can give us the specific purpose of 
>>>> this... What I could imagine is using a QScrollArea, which makes a 
>>>> QGridLayout scrollable.
>>>>
>>>>
>>>> Am 06.04.2012 09:13, schrieb Frank Rueter | OHUfx:
>>>>> yes, I think I'm starting to get it, thanks.
>>>>>
>>>>> So here is a very rough and ugly test using a single animated 
>>>>> table (feel free to laugh):
>>>>> http://pastebin.com/PbZ8ismH
>>>>>
>>>>> I am trying to see if it's feasible to stuff all my widgets into 
>>>>> one big table, then animate the table's position so that only the 
>>>>> requested column(s) are within the view according to which button 
>>>>> is pushed on the left hand side. Obviously I'd have to hide the 
>>>>> headers and lines etc. (no idea how to do that yet either).
>>>>>
>>>>> What do people think how best to approach this? The above doesn't 
>>>>> feel right and I'd have to do a lot of hacking to make this look 
>>>>> pretty (though the animation is easy to control as it's just one 
>>>>> widget). Or should I rather create one table per button and move 
>>>>> them around as a group (I guess I could hide the unwanted tables 
>>>>> as well then).
>>>>>
>>>>> Or does anyone have completely different ideas how to tackle this? 
>>>>> I'm sure there is a way more elegant solution.
>>>>> I'm  still trying to stick to default QT stuff before I dive into 
>>>>> Qt Quick and such.
>>>>>
>>>>> Thanks for all the help and pointers so far!
>>>>>
>>>>> frank
>>>>>
>>>>>
>>>>> On 4/6/12 6:28 PM, Tibold Kandrai wrote:
>>>>>> Hi!
>>>>>>
>>>>>> Exactly! Instead of QAnimationGroup you have to use 
>>>>>> QParallelAnimationGroup 
>>>>>> <http://qt-project.org/doc/qt-4.8/qparallelanimationgroup.html>orQSequentialAnimationGroup 
>>>>>> <http://qt-project.org/doc/qt-4.8/qsequentialanimationgroup.html>.
>>>>>> Or you can create your own group by subclassing QAnimationGroup 
>>>>>> if you have special needs. :)
>>>>>>
>>>>>> Cheers,
>>>>>> Tibold
>>>>>>
>>>>>> On 06/04/2012 06:45, Frank Rueter | OHUfx wrote:
>>>>>>> I think I found the problem in the fact that it's an abstract 
>>>>>>> class and not meant to be used directly.
>>>>>>> the joy of learning new stuff....
>>>>>>>
>>>>>>>
>>>>>>> On 4/6/12 4:05 PM, Frank Rueter | OHUfx wrote:
>>>>>>>> Thanks again for this tip Tibold. It seems to be what I'm 
>>>>>>>> after, though I just discovered that QAnimationGroup doesn't 
>>>>>>>> seem to be supported in PySide. I got this error when I tried 
>>>>>>>> to create an instance of it:
>>>>>>>>
>>>>>>>> NotImplementedError: 'QAnimationGroup' represents a C++ 
>>>>>>>> abstract class and cannot be instantiated
>>>>>>>>
>>>>>>>>
>>>>>>>> I will try and add all widgets to one "page" widget (whatever 
>>>>>>>> that may be, I need to find out yet), and then apply the 
>>>>>>>> animation to that.
>>>>>>>> Fingers crossed...
>>>>>>>>
>>>>>>>> Cheers,
>>>>>>>> frank
>>>>>>>>
>>>>>>>>
>>>>>>>> On 4/4/12 7:29 PM, Tibold Kandrai wrote:
>>>>>>>>> Hey!
>>>>>>>>>
>>>>>>>>> Try QtAnimation:
>>>>>>>>> http://qt-project.org/doc/qt-4.8/animation-overview.html
>>>>>>>>>
>>>>>>>>> I use it with in a QGraphicsWidget, but this should work everywhere AFAIR.
>>>>>>>>>
>>>>>>>>> Cheers,
>>>>>>>>> Tibold
>>>>>>>>>
>>>>>>>>> On 04/04/2012 06:46, Frank Rueter | OHUfx wrote:
>>>>>>>>>> Hi everyone,
>>>>>>>>>>
>>>>>>>>>> I'm very new to Qt/PySide and am wondering if it's possible to add an
>>>>>>>>>> animation effect to, let's say, QStackedLayout, for when the page
>>>>>>>>>> changes. I guess it'd something similar to the way the AppStore works.
>>>>>>>>>>
>>>>>>>>>> In this example I'd like to see the new button "push" the old button out
>>>>>>>>>> of view when the combobox changes:
>>>>>>>>>> http://pastebin.com/i5sFgQzE
>>>>>>>>>>
>>>>>>>>>> I'm happy to take a good ol' fashioned RTFM, I'm just having a hard time
>>>>>>>>>> finding the right bit of information out there.
>>>>>>>>>>
>>>>>>>>>> Any help would be greatly appreciated.
>>>>>>>>>>
>>>>>>>>>> Cheers,
>>>>>>>>>> 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
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> 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
>>
>>
>>
>>
>> _______________________________________________
>> PySide mailing list
>> PySide at qt-project.org
>> http://lists.qt-project.org/mailman/listinfo/pyside
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/pyside/attachments/20120407/5d6fdf4e/attachment.html>


More information about the PySide mailing list