AbulEduStackedWidgetV1¶
La classe AbulEduStackedWidgetV1 est une dérivation de QStackedWidget. Sachant que l'évolution des logiciels pour la portabilité tablette nous pousse à utiliser de plus en plus les QStackedWidget, il devenait urgent de créer cette classe : même si on n'avait rien à y faire maintenant, il aurait été important de le faire pour que de futures modifications soient automatiquement ajoutées même aux anciennes appli, pour peu qu'elles utilisent déjà AbulEduStackedWidgetV1. Et justement on a quelque chose à y faire : un effet de slide comme imaginé là : [[http://www.developer.nokia.com/Community/Wiki/Extending_QStackedWidget_for_sliding_page_animations_in_Qt]]
Installation¶
L'installation de la classe AbulEduStackedWidgetV1 se fait dans le dossier lib de votre logiciel, par exemple
Attention, ne pas inclure cette librairie si vous utilisez AbulEduSlideWidgetContainerV1 (double inclusion)
git submodule add http://redmine.abuledu.org/ryxeo/leterrier-developpeurs/abuledustackedwidgetv1.git src/lib/abuledustackedwidgetv1
Mainteneur de la lib:
git clone ssh://gitolite3@redmine.abuledu.org/repositories-redmine/ryxeo/leterrier-developpeurs/abuledustackedwidgetv1.git
Modification du fichier.pro¶
Pensez à modifier votre fichier .pro pour ajouter cette nouvelle lib
#AbulEduStackedWidgetV1 include(lib/abuledustackedwidgetv1/abuledustackedwidgetv1.pri)
Utilisation¶
Pas grand chose à faire, sinon promouvoir votre QStackedWidget et remplacer les
ui->monQStackedWidget->setCurrentWidget(ui->pageCible);
par des
ui->monAbeStackedWidget->slideInWidget(ui->pageCible);
Pour les besoins de Calcul mental, et devant le peu d'enthousiasme des testeurs, j'ai ajouté deux méthodes permettant de passer au suivant ou au précédent sans effet de glissement.
/** Va à la page suivante avec effet */ void abeStackedWidgetSlideInNext(); /** Va à la page précédente avec effet */ void abeStackedWidgetSlideInPrev(); /** Va à la page suivante sans effet */ void abeStackedWidgetGoToNext(); /** Va à la page précédente sans effet */ void abeStackedWidgetGoToPrev();