2010-12-13 45 views
8

Je commence à travailler sur un nouveau projet GUI dans .Net et quelqu'un m'a suggéré Qt. J'ai commencé à lire à ce sujet et je ne comprends pas ses avantages sur le concepteur de Visual Studio.Quels sont les avantages à utiliser Qt?

Je vois pourquoi C++ VS6 va l'utiliser, mais pas pourquoi les développeurs .net.

Si le principal avantage est la portabilité, quel est son avantage sur JAVA?

Merci!

+5

Qt est spécifiquement une bibliothèque C++. Je ne m'attendrais pas à ce que les développeurs .NET ou Java soient intéressés. –

+2

Eh bien, il y a aussi un port python de Qt. Mais si vous utilisez .net, vous n'avez pas besoin de support multi-plateforme, alors utilisez ce que Microsoft vous propose. – Falmarri

+0

Notez que vous pouvez travailler avec QT et .Net http://en.wikipedia.org/wiki/Qt_%28framework%29 – AYBABTU

Répondre

11
  • Il est multi-plateforme et il utilise les ressources du système pour dessiner les fenêtres, contrôles, etc afin que votre application aura une apparence native (par exemple sur un Mac votre fenêtre d'application ne manquera le menu barre et la barre de menu apparaîtra dans la barre de menus du système car il s'agit du comportement standard sur la plate-forme Mac ). L'écriture en C++ vous donne un grand contrôle, la possibilité de travailler avec des bibliothèques fantastiques comme le STL, Boost, etc; et votre code est compilé en binaires natifs qui fonctionneront à pleine vitesse sans avoir besoin d'une machine virtuelle. Qt est open source et est développé par le Qt Group (anciennement Trolltech) chez Nokia, vous avez donc une très grande entreprise qui le maintient avec le soutien de la communauté et qui assure son évolution.

  • Il a le meilleur concepteur de GUI que j'ai jamais vu (je travaille avec .NET avant d'utiliser les Windows Forms et WPF)
+0

Une autre question - il traduit les commandes C++ pour la plate-forme correcte? Je peux développer une fois sur un PC et il utilisera "fork" automatiquement quand je compile sur Linux? – AYBABTU

+1

Il extrait une grande partie de la plate-forme sous-jacente, donc si vous n'écrivez pas de code spécifique au système d'exploitation (inutile dans la plupart des applications), vous pouvez compiler le même code sur toutes les plates-formes majeures. Jusqu'à présent, la plupart des applications que j'ai développées avec Qt ont été compilées sous Linux, Windows et Mac sans changer une seule ligne de code. – Raphael

3

Le plus grand avantage de Qt IMO est sa capacité à aller multiplate-forme.

En outre, comme il est compilé, il devrait fonctionner (en théorie au moins) plus rapidement que les applications .NET et Java.

9

Jetez un oeil à ce poste: Do you use Qt and why do you use it?

Personnellement, j'aime Qt parce que sa multi-plateforme, très populaire, et vous pouvez avoir un prototype prêt très rapide!

+10

Notez que la licence sur Qt a changé depuis la réponse à cette question. Il est maintenant possible d'utiliser Qt gratuitement dans une application commerciale grâce à la version LGPL. – karunski

+6

Très bon pour le signaler Karunski! LGPL a joué un grand rôle dans la large acceptation de QT. – athspk

3

ses capacités multiplateformes et la popularité sont attrayants.

Je pense que deux des plus grands avantages sont les suivants:

  • la conception API est excellent
  • les outils qui fonctionnent si seemlessly avec elle: QtCreator, pyside, Jambi
5
  • Il ne s'agit pas seulement de plates-formes inter-plateformes, à savoir Windows, Mac OS et Linux, mais le même code fonctionnera sur les appareils basés sur Linux embarqué, Windows CE/Mobile, Symbian et le nouveau Meego. Pour Linux embarqué, il a son propre système de fenêtrage léger basé sur le framebuffer, éliminant le besoin de X11.
  • Il a maintenant aussi un IDE très performant dans Qt Creator qui fonctionne à nouveau sur toutes les plateformes et vous offre donc le même environnement de développement où que vous alliez.
  • La dernière version 4.7 arrive avec une nouvelle façon de développer des applications pour les appareils utilisant QML + Javascript pour votre interface fluid gest gest multi touch qui parle directement à la logique métier des classes C++ Qt.
  • La même chose est vraie pour Qt Webkit basé sur la boîte à outils Webkit où vous pouvez connecter votre code javascript à vos classes C++ de base effectuées dans Qt.
1

En moins de mots,

  • Qt est meilleur pour la conception graphique, car est plus rapide que d'autres langues
  • est géré directement par la CPU
  • Utiliser la gestion de la mémoire intelligente
  • Il est GUI Designer est très utile et facile à manipuler
  • J'ai fait la même application sur Java et QT, et fonctionne 5 fois plus vite sur QT

Pour une description plus détaillée, vous pouvez jeter un oeil sur cet article:

http://turing.iimas.unam.mx/~elena/PDI-Lic/qt-vs-java-whitepaper.pdf

une brève comparaison sur Java et Qt, est très intéressant.

+0

Bien que cela puisse théoriquement répondre à la question, [il serait préférable] (// meta.stackoverflow.com/q/8259) d'inclure les parties essentielles de la réponse ici, et de fournir le lien pour référence. –

+0

Modifications effectuées, réponse mise à jour. – GTRONICK