Question

Je sais que l'utilisation de QML est tout à fait nouveau dans l'intervalle QT et je me demandais si je devais concevoir mon application à l'aide QtDesigner ou QML. Je vais utiliser un modèle MVC et ma principale préoccupation si j'utilise QML pour l'interface graphique est qu'il pourrait ne pas être facile à intégrer dans l'application de mon Reste C ++.

Ne hésitez pas à donner votre avis personnel, je serais très heureux. Merci!

Était-ce utile?

La solution

QML est principalement destiné aux plates-formes mobiles. En raison de sa jeunesse et son souci pour les conventions d'interface de la plate-forme variée, il manque des commandes standard comme des boutons et des boîtes combo (mais voir le le projet de composants). Si vous êtes sur mobile, ou votre interface utilisateur a besoin d'un style visuel très personnalisé, QML peut être envisagé. Préparez-vous à beaucoup de travail supplémentaire dans la conception des contrôles personnalisés. L'intégration de QML et C ++ est encore assez rude à mon avis. Personnellement, je recommande l'utilisation QML seulement pour des applications plus simples, uniquement sur les plateformes mobiles, et seulement avec JavaScript. Dans les bonnes circonstances, je pourrais envisager d'écrire des éléments QML personnalisé en C ++.

Qt API C ++ ne va pas disparaître de sitôt. Il est également conçu avec le bureau à l'esprit et fera un meilleur travail de répondre aux attentes des utilisateurs sur les plateformes de bureau. Si vous êtes sur le bureau, je recommande de coller à C ++ et Designer. Même après QML arrive à maturité un peu, il ne sera probablement pas la bonne solution pour la plupart des applications de bureau.

Mise à jour!

Il semble que les choses sont commencent à changer . Je ne l'ai pas essayé les nouveaux composants encore moi-même, et la documentation semble un peu clairsemée (ou au moins, de la route), mais cela pourrait éventuellement enlever le plus grand obstacle à l'utilisation QML sur le bureau. Il reste à voir si cela obtenir un soutien à long terme, mais si vous êtes prêt à accepter le risque d'être un adopteur précoce, je pense que QML peut maintenant être un choix viable pour les applications de bureau.

Autres conseils

Il serait intéressant d'essayer un peu de QML pour vérifier si elle répond à vos besoins.

Si vous construisez une interface très personnalisée avec des interfaces dynamiques et des animations puis QML correspond au travail; si vous construisez une application de bureau traditionnel, alors vous voudrez probablement coller avec l'API Qt C ++.

En ce qui concerne l'intégration entre QML et C ++, QML est conçu pour être facilement intégré avec le code C ++, et de nombreuses applications QML utilisent une sorte de back-end C ++. Il est facile d'injecter des objets C ++ dans une interface QML, ou écrire des éléments personnalisés QML en C ++. Jetez un oeil à http://doc.qt.io/archives/qt- 4.7 / qtbinding.html et http: //doc.qt.io/archives/qt-4.7/qml-extending-tutorial-index.html.

Une chose manquée par les réponses ci-dessus est que QML a l'avantage / désavantage supplémentaire de JavaScript pour la logique métier (si nécessaire). Je suis en train de construire une (petite à moyenne) l'application de taille pour le bureau et maintenant mes (2) les utilisateurs alpha profiter. Je suis impressionné par l'expressivité du cadre et la rapidité avec laquelle je peux l'obtenir et testé. Dans l'ensemble je trouve plus rapide de travailler avec un éditeur de RAD (designer) et j'aime avoir JavaScript comme solution de repli sur mon interface utilisateur quand je fais des choses ennuyeuses comme hovers / validation etc ...

Je pense qu'il est question de la façon dont vous êtes à l'aise avec la langue. Si C ++ est votre « aller à » la langue que vous aurez probablement favorisez le concepteur. Si vous venez à partir du Web (confession, je suis un ingénieur Java EE / .NET MVC dev faire beaucoup de fin avant), vous trouverez rafraîchissant et rapide.

Il permet également une certaine réactivité que les utilisateurs attendent ces jours-ci. Dans l'ensemble je lui donne un avantage énorme. Faites un essai - probablement plutôt vous en aurez s'il vous plaît et plutôt ennuyé dans le même laps de temps. Je suis toujours en colère contre un couple de choses (FileIO en particulier) mais je l'ai été en appréciant le côté graphique des choses d'une manière que je fais rarement sur le bureau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top