IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Animations et conception d'une GUI


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut Animations et conception d'une GUI
    Bonjour,

    Je suis tombé sur ces vidéos (merci yan) qui proposent des démos techniques de ce qu'on peut faire avec Qt dans le monde de l'embarqué.
    http://labs.trolltech.com/blogs/2009...-s60-is-there/

    Je cherche à comprendre comment sont faites certaines animations simples, comme le défilement de coté pour accéder à une liste de favoris sur la démo de WebKit (première vidéo).
    Est-ce que tout est organisé en QGraphicsItems ? Existe-il des moyens autres pour arriver à de telles animations?

    Je cherche en fait à voir comment intégrer des animations simples à mes applis toutes faites et toutes... statiques. En terme de conception, ça m'a l'air assez gros, et je voudrais pas partir sur une mauvaise modélisation de ma vue.

  2. #2
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Par défaut
    Perso j'ai pas trop d'idée. Après peut être que tu devrais télécharger le SDK et regarder les exemples fournis. Après on peut faire des suppositions....
    Sinon il faut que tu attendes que Yan face joujou avec son N5800.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  3. #3
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Ryo2468 Voir le message
    Je cherche à comprendre comment sont faites certaines animations simples, comme le défilement de coté pour accéder à une liste de favoris sur la démo de WebKit (première vidéo).
    Est-ce que tout est organisé en QGraphicsItems ? Existe-il des moyens autres pour arriver à de telles animations?
    A mon avis, c'est bien avec QGraphics.
    Pour une démo, d'un ihm type web 2.0 (pas se moquer) c'est ce que j'ai utiliser pour faire des animation et ca marche nikel.
    Contrairement ou ihm de base, QGraphics est fait pour les animation. De plus avec l'arrivée(fin d'année il me semble) de QAnimation et QStateMachine dans Qt 4.6 se sera encore plus simple.
    Pour confirmer, la demo est peut être dans les sources.

    Après je n'ai pas encore trop essayé. J'ai juste réussi à faire une première appli toute bête pour mon portable.

  4. #4
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut
    Je décortique Anomaly Browser.

    L'animation n'est apparemment pas rendue avec QGraphics, uniquement avec QTimeLine et des Widget::move(x,y).

    Voici ce que j'ai trouvé pour un slide horizontal :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     
    Constructeur :
     
    {
    m_timeLine = new QTimeLine(300, this);
    m_timeLine->setCurveShape(QTimeLine::EaseInOutCurve); //Effet de ralenti sur l'animation
     
    m_homeView = new HomeView(this); //Page Home
    m_browserView = new BrowserView(this); //Page Browser
     
    m_homeView->hide();
    m_homeView->resize(size());
    m_homeView->move(0, 0);
     
    m_browserView->hide();
    m_browserView->resize(size());
    m_browserView->move(0, 0);
     
    slide(0);
     
    connect(m_timeLine, SIGNAL(frameChanged(int)), SLOT(slide(int)));
    }
     
    Slot slide :
    void BrowserWindow::slide(int pos)
    {
        m_browserView->move(pos, 0);
        m_homeView->move(pos - width(), 0);
        m_browserView->show();
        m_homeView->show();
    }
     
    //Méthode pour afficher la page Home
    void BrowserWindow::showHomeView()
    {
        if (m_timeLine->state() != QTimeLine::NotRunning)
            return;
     
        m_timeLine->setFrameRange(0, width());
        m_timeLine->start();
        m_homeView->setFocus();
    }
     
    //Méthode pour afficher la page Browser
    void BrowserWindow::showBrowserView()
    {
        if (m_timeLine->state() != QTimeLine::NotRunning)
            return;
     
        m_timeLine->setFrameRange(width(), 0);
        m_timeLine->start();
        m_browserView->setFocus();
    }
    Je cherche actuellement des traces d'activation ou non OpenGL(ES). Je suis curieux de savoir si ils parviennent à ce rendu sans accélération graphique.

  5. #5
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut
    Dans le main :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    #if !defined(Q_WS_S60)
        QApplication::setGraphicsSystem("raster");
    #endif
    Dans la doc Qt :
    void QApplication::setGraphicsSystem ( const QString & system ) [static]

    Sets the default graphics backend to system, which will be used for on-screen widgets and QPixmaps. The available systems are "native", "raster" and "opengl".

    This function call overrides both the application commandline -graphicssystem switch and the configure -graphicssystem switch.

    Warning: This function must be called before the QApplication constructor is called.

    Note: The "opengl" option is currently experimental.

    This function was introduced in Qt 4.5.
    Il y a donc du raster pour optimiser l'affichage des images. Pas de trace d'OpenGL par contre. Et cette fonction est en test avec l'option opengl. Hum...

    Je vais tenter de bidouiller des choses sur mes applis la semaine prochaine en configuration native, voir si ya besoin d'accélération ou pas.

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    c'est vrai qu'il n'y as que des translation. Un move sur les widgets est surement suffisant.

    Je voulais essayer de faire des choses avec les QGraphics. Je te dirais ce que cela donne.

  7. #7
    Membre expérimenté
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Par défaut
    Merci, ça m'intéresse beaucoup de confronter plusieurs solutions pour avoir une idée sur la quantité de travail à fournir, la stabilité, et le rendu final =)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Conception d'une GUI avec PyQt
    Par Franck.H dans le forum EDI/RAD
    Réponses: 4
    Dernier message: 14/04/2011, 17h21
  2. [Avis] Quel langage pour faire une GUI pour un pgm Fortran ?
    Par Radagast dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 24/02/2011, 12h28
  3. Comment réaliser une GUI ? (conception, architecture)
    Par Ange_de_coren dans le forum API graphiques
    Réponses: 33
    Dernier message: 21/08/2006, 12h39
  4. [Conception] Passer une fonction en paramètre
    Par pejay dans le forum Langage
    Réponses: 9
    Dernier message: 09/12/2004, 13h58
  5. Conception d'une classe parente
    Par VincentB dans le forum Langage
    Réponses: 9
    Dernier message: 24/06/2003, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo