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 :

Résumé de Qt Creator, Qt Quick et QML pour quelqu'un qui a toujours codé du Qt en C++


Sujet :

Qt

  1. #1
    Membre habitué
    Homme Profil pro
    Doctorant en Astrophysique
    Inscrit en
    Mars 2009
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Doctorant en Astrophysique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2009
    Messages : 312
    Points : 176
    Points
    176
    Par défaut Résumé de Qt Creator, Qt Quick et QML pour quelqu'un qui a toujours codé du Qt en C++
    Bonjour.

    Je vous explique ma situation : cela fait 3 ans que j'utilise Qt, mais je l'ai toujours utilisé de façon artisanale directement en C++ avec Codeblocks. J'ai testé quelque fois QtCreator mais j'ai vite abandonné cela ne me donnait pas la liberté que je voulais dans le bidouillage de mes Widgets, mais sans doute ne suis-je pas allé au fond des choses.

    Cependant j'aurai voulu quelques explications très rapides (en une phrase ou deux) pour bien comprendre ce que sont QtCreator, QtQuick et Qml et à quoi cela sert. C'est surtout cela en fait : à quoi cela sert et quand utiliser chacun d'entre eux. Est-ce que chacun de ces outils peut totalement se substituer au C++ ou alors est-ce plutôt fait pour rendre plus pratique le développement d'un certain type de choses.

    Enfin, dernière chose, je crois avoir lu dans une news récente que peu à peu Qt allait abandonner le concept de Widget pour passer à autre chose (mais j'ai peut être mal compris). Seulement moi en C++, je n'utilise pratiquement que cela et j'ai un peu du mal avoir comment s'en passer. Si vous pouviez rapidement m'expliquer de quoi il en retourne.

    Merci beaucoup

    EDIT : Je rajoute une question. En fait à la base, j'ai toujours utilisé Qt pour développer des petites applis scientifiques pour PC pour des tâches très spécifiques. J'ai donc toujours eu à créer mes propres widgets à partir de ceux de base du SDK et non simplement à assembler des widgets existants. Est-ce que QtCreator, QtQuick ou Qml me permettraient de développer mes applis plus rapidement (et si oui lesquels d'entre eux me seraient vraiment utiles) ou est-ce que pour mon utilisation, le codage directement en C++ reste le mieux ?

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    ces outils peut totalement se substituer au C++
    Quand je lis cette phrase, j'ai l'impression qu'il y a quelques confusions...

    - le C++ est un langage
    - Qt est un framework, c'est à dire un ensemble de classes et fonctions en C++ qui apportent de nouvelles fonctionnalités
    - Qt Creator (tout comme Code::Block) est un IDE, c'est à dire un environnement de développement qui permet de taper du code, de déboguer, de compiler, d'exécuter, etc. La grosse différence entre Qt Creator et Code::Block est que le premier intègre mieux Qt et donc facilité le développement avec ce framework, alors que le second est plus générique. En particulier, Qt Creator offre des outils permettant de créer graphiquement une interface, mais ce n'est qu'un outil supplémentaire, il reste possible de travailler directement sur le code sans ces outils
    - Qt Quick est un des modules de Qt, qui permet de créer des applications Qt à partir d'un langage déclaratif (le QML) et d'un langage de script (un équivalent du Javascript). QtQuick est plus lent que le C++ lors de l'interprétation du code QML+Javascript, mais l'exécution de la partie native en C++ ne change pas.

    Est-ce que cette lenteur (relative) de QtQuick est gênante ?
    Non, il faut bien comprendre qu'une interface graphique passe la plus part de son temps... à rien faire Ou plus précisément à attendre les actions de l'utilisateur.

    Est-ce qu'on peut tout faire avec QtQuick ?
    Non. La partie "déclarative" de l'IHM (c'est à dire mettre tel widget à tel endroit) peut être fait en QML sans problème. Par contre, le rendu d'un widget (que ce soit un widget standard ou un widget créé par l'utilisateur), qui doit être rapide pour avoir une IHM fluide, doit être fait en natif C++.

    Je te conseille de regarder les différentes version du code de l'exercice du colopicker que j'ai écris. Dans tous les cas, le rendu du gradient est réalisé par 2 boucles for imbriquées.
    J'ai testé différentes version et fait des benchmarcks :
    - version QML
    - version C++
    - analyse approfondie des performances

    On voit très vite que réaliser le rendu avec le QML est beaucoup trop lent. Donc il faut créer le widget en C++ puis le manipuler en C++ ou en QML.

    En espérant avoir répondu aux questions (sauf une : l'abandon des widgets dans Qt... mais ça doit être une erreur )

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2010
    Messages : 243
    Points : 398
    Points
    398
    Par défaut
    Pour compléter, Qt n'abandonne pas les widgets.

    La prochaine version de Qt, Qt5 (sortie 2012 ?) va simplement être orientée QtQuick, mais les widgets seront toujours présents.

    Pour ma part je pense que QtQuick est super pour faire de belles interfaces facilement, pas pour la partie métier de l'application. Utiliser cette techno oblige néanmoins encore un peu plus le dev à séparer le GUI du métier je trouve, ce qui n'est pas une mauvaise chose.

    Enfin QtQuick est relativement nouveau, toutes les fonctionnalités ne sont pas encore là actuellement. Le choix entre QtQuick et QWidget pour tes applications est à faire au cas par cas, en fonction de comment tu le sens et de ce qu'il y a à réaliser. Mais en aucuns cas les widgets ne vont disparaître

Discussions similaires

  1. [MeeGo] Première application mobile en QML pour MeeGo 1.2 Harmattan
    Par dourouc05 dans le forum Applications mobiles
    Réponses: 0
    Dernier message: 02/04/2012, 14h29
  2. Quick Report Standard pour Delphi 2010
    Par jackfirst72 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 05/08/2010, 13h21

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