La GNU LGPL ne vous forcent pas à partager le code, pas même lorsque la liaison statique. Il est une croyance commune - vous avez juste à fournir un moyen pour l'utilisateur de faire le lien entre leur propre copie de l'intervalle Qt avec votre application et de débogage; Dll déjà fournir cette, avec la liaison statique vous pouvez fournir des fichiers de l'objet.
Qt fournit de nombreuses fonctionnalités pour toutes les plateformes prises en charge. Le plus grand qui viennent à mon esprit sont Qt Simultanées et le filetage Api, WebKit, Qt Script et bien sûr, Qt GUI. Le fait que le C++ est en train de mourir est parce que la plupart des gens pensent de C++ comme de la merde code flottant autour de l'écrit à l'aide de seulement natif de bas niveau Api, MFC ou similaires bibliothèques et des outils. Qt est un établissement moderne et stable cadre de développement qui a été autour pendant un temps très long. Nokia n'a pas acquis de leurs appareils, depuis leurs appareils sont tout simplement PAS assez PUISSANT pour gérer l'avancée de l'intervalle Qt, notamment Qt WebKit - WebKit lui-même est vraiment un porc et n'est pas ciblée sur le développement embarqué.
Qt est toujours plus de fonctionnalités. Par exemple 4.5 apporté un Cacao port, XSLT, ODF. Il a aussi apporté un nouveau moteur raster qui est, obtenir ce, BÊTEMENT RAPIDE, ainsi qu'un OpenGL (ES) 2.0 moteur pour l'accélération graphique matérielle. 4.6 a apporté une animation cadre, une machine d'état, et d'une manière EXTRÊMEMENT rapide moteur JavaScript hérité de WebKit, pour WebKit lui-même et Qt Script - SquirrelFish Extrême est actuellement à jeun moteur JavaScript, en battant Chrome V8; 4.7 apporte de Qt version de WPF, appelé Qt Quick, avec un langage déclaratif (QML, basé sur JavaScript), QtDeclarative module (qui s'intègre avec la Vue Graphique cadre et a des Api pour lier personnalisé des objets C++ pour QML), étendue des Api de réseau et l'amélioration de l'WebKit module (et mis à jour WebKit code).
Ce n'WPF fournir un navigateur widget? Trident. Merci beaucoup, pour l'instant, le Trident est l'un des plus faibles des moteurs dans tous les aspects, même si j'entends que le travail est en cours afin d'améliorer considérablement les performances. Tous un bon choix pour se tirer dans le pied lorsque vous souhaitez porter votre logiciel à un autre programme, notamment la croissance rapide du marché des périphériques intégrés - vous sont fondamentalement verrouillé pour Windows CE/Mobile, alors que Qt a été porté sous Windows CE/Mobile, Linux Embarqué, Symbian S60 et Maemo est à venir bientôt. Qt est la plus importante plate-forme de soutien que j'ai vu - voir la liste dans la documentation de Qt.
Même si Qt fournit quelques très haut niveau de l'Api, il est TRÈS rapide, et quand la vitesse est essentielle, elle permet d'aller aussi bas niveau que vous voulez, peut-être même de l'assemblée. Alien widgets fournir scintillement moins un rendu rapide, cependant, vous êtes libre de demander un natif widget - il suffit de mettre un drapeau. Pour la programmation simultanée vous avez des primitives de thread comme mutex, verrou en lecture / écriture, les conditions d'attente, les sémaphores, ainsi graduellement de plus haut niveau de l'API - pools de threads par exemple, se terminant avec Qt Simultanées. Les signaux et les slots sont un précieux moyen de transmettre des données entre les objets dans un "thread-safe", sans verrouillage, en s'appuyant sur la boucle d'événements pour fournir de façon sécuritaire tous les événements et les signaux.
Qt est extensible comme l'enfer. Vous pouvez sous-classe pratiquement toutes les classes, et si de cette façon vous ne parvenez pas à effectuer une opération, vous sont fournis avec leur code source complet pour toutes les plates-formes et des droits de la modifier pour vos besoins sur toutes les options de licence. En outre, Qt garanties en arrière la compatibilité binaire entre les versions mineures et en avant ET en arrière la compatibilité binaire entre les patch versions (bien sûr, le code en fonction d'une correction de bug ne fonctionne pas sur les versions avec le bug; X. Y. Z --> X = grand; Y = mineur; Z = patch). Des outils sont également fournis gracieusement déplacer des révisions importantes à votre propre rythme: Qt 4 comprend un outil permettant de migrer Qt 3 du code de Qt 4 code de Qt 3 module de prise en charge, la mise en œuvre de l'ensemble de l'intervalle Qt 3 de l'API (à moins que l'intervalle Qt 4 version de la classe est entièrement compatible avec l'ancien), ainsi que votre ancien code est toujours en sécurité.
Je soutiens que Qt est un framework de développement d'applications, à la différence de WPF qui est juste une partie GUI de .NET. Qt inclut de nombreux non-GUI modules: de Base, de Réseau, SQL, XML, Script, et plus encore. Tous fournissent à la fois un faible niveau de l'Api (QIODevice, QTcpSocket) et de haut niveau de l'Api (QTextStream, QNetworkAccessManager). La documentation est une partie subjective, mais à mon avis je crois que c'est très bon et vaste, et si la documentation n'est pas assez, la communauté est toujours là pour l'aider, ainsi que Nokia contrats de support.
P. S.: je n'ai pas tout .NET de l'expérience, j'ai juste dit pourquoi je crois que Qt est souvent un bien meilleur choix .NET. Il y a des exceptions à tout .NET excelle dans de nombreux domaines ainsi; rien n'est parfait, vous devez choisir le bon outil pour le travail. J'ai essayé de faire la liste de tous les avantages de l'intervalle Qt je pense, et pourquoi c'est une grande trousse. Veuillez consulter la documentation de Qt à http://qt.nokia.com/doc/4.6/index.html pour tous les détails et n'oubliez pas que Qt est une boîte à outils, elle comprend plusieurs outils: Qt Creator (IDE), Qt Designer (GUI designer), qmake (système de construction), Qt Linguist (traducteur) pour n'en nommer que quelques-unes.