51 votes

Qt Designer CmD ou QML pour gui gui

Je sais que l'utilisation de QML est tout à fait nouveau dans QT et je me demandais si je devrais concevoir mon application en utilisant 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 à l'intérieur du reste de mon application C .

N'hésitez pas à donner vos conseils personnels, je vous en serais grandement reconnaissant. Je vous remercie!

47voto

Steve S Points 2598

QML est principalement conçu pour les plateformes mobiles. En raison de sa jeunesse et de sa préoccupation pour une grande variété de plate-forme de l'interface conventions, il manque de contrôles standard comme les boutons et les zones de liste déroulante (mais voir les Composants du projet). Si vous êtes sur mobile, ou votre INTERFACE utilisateur nécessite un très personnalisé style visuel, QML peut être utile d'examiner. Être préparé pour beaucoup de travail supplémentaire dans la conception de contrôles personnalisés. L'intégration de QML et C++ est encore assez brouillon à mon avis. Personnellement, je ne vous recommandons d'utiliser QML seulement pour de simples applications, uniquement sur les plateformes mobiles, et uniquement avec JavaScript. Dans les bonnes circonstances, je pourrais envisager d'écrire personnalisé QML éléments en C++.

Qt C++ API ne va pas disparaître de sitôt. Il est également conçu avec le bureau dans l'esprit et faire un meilleur travail pour répondre aux attentes des usagers sur les plates-formes de bureau. Si vous êtes sur le bureau, je vous recommande de coller à C++ et Designer. Même après QML mûrit 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 un début de changement. Je n'ai pas essayé les nouveaux composants moi-même encore, et la documentation semble un peu clairsemée (ou au moins, hors de la voie), mais cela pourrait finir par supprimer le plus grand obstacle à l'utilisation de QML sur le bureau. Il reste à voir si cela va obtenir un soutien sur le long terme, mais si vous êtes prêt à accepter le risque d'être l'un des premiers, je pense que QML peut maintenant être un choix viable pour les applications de bureau.

15voto

blam Points 537

Il serait intéressant d'essayer un peu de QML pour tester si cela convient à vos besoins.

Si vous êtes à la construction d'un très personnalisée de l'INTERFACE utilisateur avec des interfaces dynamiques et des animations puis QML convient pour le poste; si vous êtes à la construction d'un poste de travail traditionnel de l'application, alors vous aurez probablement envie de coller avec le Qt C++ API.

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 utiliser une sorte de C++ backend. Il est simple d'injecter des objets en C++ dans une interface QML, ou écrire personnalisé QML éléments en C++. Jetez un oeil à http://doc.qt.nokia.com/4.7-snapshot/qtbinding.html et http://doc.qt.nokia.com/4.7-snapshot/qml-extending-tutorial-index.html.

13voto

Daniel B. Chapman Points 1963

Une chose oubliée par les réponses ci-dessus est que QML a l'avantage/inconvénient de JavaScript pour la logique métier (si nécessaire). Je suis actuellement à la construction d'une (petite et moyenne) de la taille de l'application pour le bureau et maintenant ma (2) alpha utilisateurs en profiter. Je suis impressionné par l'expressivité du cadre et à quelle vitesse je peux l'obtenir en place et testé. Dans l'ensemble je trouve plus rapide de travailler avec que un RAD de l'éditeur (designer) et j'aime avoir JavaScript comme un secours sur mon UI quand je fais des choses ennuyeuses comme plane de validation, etc...

Je pense que c'est une question de comment vous êtes à l'aise avec la langue. Si le C++ est votre "aller à" la langue que vous aurez probablement faveur de la designer. Si vous êtes en provenance du Web (confession, je suis un ingénieur Java EE/MVC .NET dev de faire beaucoup de front-end), vous trouverez qu'il est rafraîchissant et rapide.

Il permet également de certains réactivité que les utilisateurs attendent ces jours-ci. Dans l'ensemble, je donnerais un énorme plus. Essayez-vous allez probablement être plutôt s'il vous plaît et un peu irrité dans le même laps de temps. Je suis toujours en colère à propos d'un couple de choses (FileIO en particulier) mais j'ai été en appréciant le GUI côté des choses, dans un sens je le fais rarement sur le bureau.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X