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 :

QML versus QWidget


Sujet :

Qt

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut QML versus QWidget
    Hi,

    je ne connais pas encore QML mais je ne suis pas sûr d'avoir compris, c'est destiné à remplacer la programmation QT avec les qwidget ou c'est autre chose encore ?

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    Remplacer, non.
    Compléter, oui.

    Techniquement: qml, c'est un QGraphicsView, sauf qu'au lieu de faire du code C++, il faut utiliser un langage proche du javascript qui va générer les objets de ta graphicsview avec le code autour qui va bien (pour les signaux/slots, les animations...)

    Le but: permettre à un designer non développeur de faire une interface graphique "moderne" en Qt, sans pondre une ligne de C++. Par moderne, j'entends des ui plus sympas que ce qu'on peut faire avec le designer.

    Tout ce qui est faisable en QML l'est également en Qt/C++, mais:
    - avec sans doute plus de lignes de code
    - moins lisible pour qqn qui ne connait pas Qt
    - d'après Nokia moins optimisé

    L'inverse n'est pas vrai, QML étant encore limité (le projet Qt Components essaye de remédier à ce problème).

    Dernier point: il est possible de lier C++ et QML, le code C++ permettant d'aller modifier le code QML, et inversement, il est possible, en QML, d'aller modifier des objets créés uniquement en C++. C'est justement ce qui permet de laisser le designer faire son interface graphique de son côté en ayant tout de même accès aux objets métiers faits par le développeur C++.

    Donc tout dépend du type d'interface graphique que tu veux faire. Si c'est une interface type "application de gestion", austère mais efficace, les QLayouts et les QWidgets sont sans doute le meilleur choix.
    Pour faire une application Symbian, Meego ou pour tablette tactile, QML semble plus approprié.

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    ok merci pour cette réponse complète

  4. #4
    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
    Le but: permettre à un designer non développeur de faire une interface graphique "moderne" en Qt, sans pondre une ligne de C++.
    Pourquoi uniquement eux?

    Par moderne, j'entends des ui plus sympas que ce qu'on peut faire avec le designer.
    J'aurais plutôt tendance à dire ce que l'on voie sur le web ou sur les smartphone.


    Donc tout dépend du type d'interface graphique que tu veux faire. Si c'est une interface type "application de gestion", austère mais efficace, les QLayouts et les QWidgets sont sans doute le meilleur choix.
    Pour faire une application Symbian, Meego ou pour tablette tactile, QML semble plus approprié.
    +1

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    Si on souhaite ajouter une QGraphicsView dans notre application, le seul avantage à utiliser QML serait donc le nombre de ligne de code plus réduit ainsi qu'une rapidité accrue ?

    Autrement dit pour un développeur C++ qui ne travaille pas de concert avec un graphiste/designer, QML ne pérsente pas grand intérêt ?

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    Citation Envoyé par guillaume07 Voir le message
    Si on souhaite ajouter une QGraphicsView dans notre application, le seul avantage à utiliser QML serait donc le nombre de ligne de code plus réduit ainsi qu'une rapidité accrue ?

    Autrement dit pour un développeur C++ qui ne travaille pas de concert avec un graphiste/designer, QML ne pérsente pas grand intérêt ?
    Ben c'est déjà pas mal comme avantages, non ?
    Tout dépend aussi du background du développeur: quelqu'un qui vient de .net, l'association QML/C++ ressemble un peu à l'association xaml/c#, certains seront plus à l'aise ainsi.

    Cela permet aussi de bien marquer la séparation entre la couche présentation (QML) et la couche métier (C++) ; le temps de compilation est aussi (à priori, je n'ai pas essayé) plus rapide, le QML étant compilé à la volée lors de l'exécution.

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    Citation Envoyé par yan Voir le message
    Pourquoi uniquement eux?
    Pas uniquement; je suis d'accord. Mais avant QML, faire une interface sympa en Qt nécessite de bonnes connaissances en C++. Maintenant, c'est à la portée de beaucoup plus de monde.

  8. #8
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    Citation Envoyé par sysedit Voir le message
    le QML étant compilé à la volée lors de l'exécution.
    Un démarrage plus long donc...hum

  9. #9
    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 guillaume07 Voir le message
    le QML étant compilé à la volée lors de l'exécution.
    Un démarrage plus long donc...hum
    J'avais pas vue cette phrase. QML n'est pas compilé main interprété. Quoi que il devrais y avoir du JIT (dans le futur?) pour les partie JS.
    Mais le démarrage n'est pas forcement beaucoup plus long.

  10. #10
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    qt set met aussi au JIT mais où va t-on ?! autant faire du C#

  11. #11
    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 guillaume07 Voir le message
    qt set met aussi au JIT mais où va t-on ?! autant faire du C#
    Attention je parle que du javascript que l'on utilise dans QtScript ou dans un QWeb*
    Comme QML c'est du script, ça devrais exploiter le JIT pour rendre le script plus rapide à l’exécution. Maintenant, quasi tout les browser web compile le JS pour optimiser le rendu des page web.

    Je ne voie pas le rapport avec C#.

  12. #12
    Membre très actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Par défaut
    le rapport avec C# est que la JVM de C# est équipé d'un JIT.
    Je suis surpris qu'un exe C++/Qt puisse avoir un système de JIT.

  13. #13
    Membre expérimenté

    Profil pro
    Inscrit en
    Mars 2010
    Messages
    199
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 199
    Par défaut
    Citation Envoyé par yan Voir le message
    J'avais pas vue cette phrase. QML n'est pas compilé main interprété. Quoi que il devrais y avoir du JIT (dans le futur?) pour les partie JS.
    Mais le démarrage n'est pas forcement beaucoup plus long.
    Au temps pour moi. J'étais persuadé de l'avoir entendu lors d'une des sessions aux dev days... Je jetterai un œil quand les vidéos seront en ligne pour voir si je retrouve...

Discussions similaires

  1. [Débat] MERISE versus UML ? Avenir de MERISE ?
    Par Matthieu Brucher dans le forum Méthodes
    Réponses: 51
    Dernier message: 15/02/2022, 17h32
  2. C# versus Java
    Par laffreuxthomas dans le forum C#
    Réponses: 368
    Dernier message: 30/03/2019, 22h59
  3. Que choisir : PHP versus Java ?
    Par Sniper37 dans le forum Général Conception Web
    Réponses: 164
    Dernier message: 28/04/2009, 16h50
  4. Pb SQL versus ACCESS
    Par NOTARO dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 20/07/2004, 09h59

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