Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.8.0 - Qt Creator : 4.2.2 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Questions générales et Material Design

Hello les devs !

Jusqu'à présent, je code en Qt/C++, j'ai fais une petite application qui fonctionne très bien, mais le design, c'est pas trop ça !
J'ai vu qu'il existait un "module" Matériel Design, mais pour QtQuick (ce qui m'évite de coder tout le style manuellement)

Donc mes questions sont:
1. Est-il possible de styliser touts mes widgets créer avec Qt/C++ en Matériel Design avec QtQuick ou je doit tout recodé en QML ?

2. Avec QtQuick, si j'ai bien compris, on utilise le QML pour l'interface puis le C++ pour "donner vie" à tout ça. Donc on peut dire que QtQuick = QML/C++ et QtWidgets = full C++ ?

3. Si je me met à QtQuick, je vais devoir tout réapprendre ou je vais pouvoir continuer à utiliser mes widgets, genre QStackedWidget ?

Désolé pour toutes ses questions, mais j'ai beau avoir lu la doc je suis encore un peut perdu !

Merci pour votre aide !

Réponses

  • 1. tout recoder en QML. Il est possible de melanger du widget et du QML, mais c'est le meilleur moyen de profiter des défauts des 2.

    2. oui. (sauf les fichiers .ui, qui sont dans les widgets, mais qui ne sont pas du C++)

    HS : QML = le langage declaratif pour creer les interfaces, JS (javascript) = langage de programmation pour les interfaces (pour la logique du code), QtQML = le module de Qt qui permet d'avoir le QML, QtQuick = le module de Qt pour la partie graphique du QML.

    3. si tu connais les widgets, la logique est la meme avec le QML (par exemple QStackedWidget devient StackView)
    Mais le QML est un autre langage, il faut apprendre la nouvelle facon de programmer en QML (transposer directement le code est un bon moyen d'avoir du code inutilement lourd)
  • Ah d'accord, merci beaucoup ! Du coup je vais rester avec Qt/C++ pour le moment et styliser mes widgets en CSS :)
    Parce que si s'est pour faire du JS, autant utiliser Electron et Cordova que je maîtrise déjà bien ^^
Connectez-vous ou Inscrivez-vous pour répondre.