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 Quick Discussion :

Aucune animation sur mon SplashScreen


Sujet :

Qt Quick

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2016
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 48
    Points : 32
    Points
    32
    Par défaut Aucune animation sur mon SplashScreen
    Bonjour !

    J'ai fait un petit splashscreen qui fonctionne très bien avec des "SequentialAnimation" et je souhaite maintenant l'intégrer à mes softs.

    Pour ça, j'ai suivi le site http://falsinsoft.blogspot.fr/2017/0...screen-at.html.

    Je charge donc mon splashscreen mais l'animation dure entre une demi et une seconde après elle ne bouge plus. Et ensuite, après mon petit "chrono" de 5 secondes, la page principale charge.

    Je ne sais pas pourquoi mon animation se fige. J'ai essayé de mettre un petit "BusyIndicator" à côté et il fonctionne correctement.

    Mon main.qml :
    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
    Item {
     
        Loader {
            id: mainWindowLoader
            active: false
            source: "qrc:/mainWindow.qml"
            asynchronous: true
            onLoaded{
                item.visible = true;
                splashScreenLoader.item.visible = false;
                splashScreenLoader.source = "";
            }
        }
     
        Loader {
            id: splashScreenLoader
            source: "qrc:/Splash.qml"
            onLoaded{
                mainWindowLoader.active = true;
            }
        }
     
    }

    Dans mon mainWindow.qml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    ApplicationWindow  {
        id: applicationWindow
        visible: true
        width: 1280
        height: 720
        title: qsTr("Programme QML")
        Component.onCompleted{
            var timeout = new Date().valueOf() + 3000;
            while(timeout > new Date().valueOf()) {}
        }
       ...
    }

    une partie de mon Splash.qml :
    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
    ApplicationWindow  {
        id: applicationWindow
        visible: true
        width: 500
        height: 320
        title: qsTr("Hello World")
        color: "transparent"
        modality: Qt.ApplicationModal
        flags: Qt.SplashScreen
     
     
        Item {
            id: splash
            ...
            // mes SequentialAnimation et autres...
        }
     
        Component.onCompleted{
            anim.running  = true
            anim2.running = true
            anim3.running = true
            anim4.running = true
     
            visible = true
        }
    Avez-vous une idée ? Merci pour votre aide !

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2016
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2016
    Messages : 48
    Points : 32
    Points
    32
    Par défaut
    Désolé d'avoir posté trop vite. Finalement je viens de voir que l'on peut utiliser des Timers en QML et du coup j'en ai mis un avant de commencé à charger ma page principale.

    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
    import QtQuick 2.7
     
    Item {
     
        Loader {
            id: splashScreenLoader
            source: "qrc:/Splash.qml"
        }
     
        Loader {
            id: mainWindowLoader
            active: false
            source: "qrc:/mainWindow.qml"
            asynchronous: true
            onLoaded{
                item.visible = true;
                splashScreenLoader.item.visible = false;
                splashScreenLoader.source = "";
            }
        }
     
        Timer {
            interval: 3000; running: true; repeat: false
            onTriggered{
                mainWindowLoader.active = true;
            }
        }
    }
    Comme ça on voit mon petit SplashScreen !

    Merci quand même !

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

Discussions similaires

  1. [PHP 5.0] Aucun echo sur mon formulaire sous IE
    Par BRUNO71 dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2013, 22h45
  2. Réponses: 2
    Dernier message: 10/01/2013, 22h03
  3. Aucune reaction sur mon pc!
    Par solaar dans le forum Composants
    Réponses: 16
    Dernier message: 04/08/2009, 13h46
  4. animation sur mon site
    Par emie_001 dans le forum Imagerie
    Réponses: 3
    Dernier message: 02/07/2008, 10h40
  5. [Flash] Préloader une animation sur mon site?
    Par nicotine dans le forum Flash
    Réponses: 2
    Dernier message: 22/05/2006, 12h42

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