De nombreux packages sont disponibles dans les versions GTK et QT.

  • Quelle est la différence entre eux?
  • Y a-t-il une différence de performance ou de méthode de travail?

Réponse

En général, la différence du point de vue de lutilisateur doit être purement cosmétique. Qt et GTK définissent les thèmes indépendamment (via, par exemple, qtconfig ou gtk-chtheme) mais cela est harmonisé par certains environnements de bureau.

GNU / Linux a tendance à être plus orienté GTK que Qt dans le sens où le premier est plus couramment utilisé, donc vous voudrez peut-être le préférer lorsque vous avez le choix; une exception serait sous KDE, qui utilise Qt pour ses propres applications – bien quaucun de ces facteurs ne soit très important.

A un problème plus important serait dans des contextes avec une RAM très limitée (comme dans, < 1/4 Go); dans ce cas, vous voudrez probablement que le système utilise exclusivement GTK ou Qt, mais pas les deux. Sur la plupart des ordinateurs de bureau modernes avec des gigaoctets de mémoire, cependant, ce nest pas un problème – lutilisation intensive des deux peut vous coûter 50 à 100 Mo supplémentaires (supposition sauvage).


Notez quil existe également différentes versions de GTK (2 et 3) et de Qt (3 et 4 ) encore largement utilisé mais pas rétrocompatible (donc une application Qt 3 ne peut pas utiliser les bibliothèques Qt 4). Cependant, les deux versions peuvent exister sur un système en même temps et la conséquence la plus grave serait le risque de confusion et un peu plus de ballonnement de la mémoire.

Commentaires

  • Je serais extrêmement intéressé de savoir comment vous en venez à la conclusion que Linux est plus orienté GTK? Linux, nimplique généralement que le noyau Linux qui, en général, na aucun biais envers lune ou lautre des boîtes à outils, puisquil sagit dun noyau de système dexploitation, pas dun programme despace utilisateur GUI. Si vous vouliez impliquer GNU / Linux comme système dexploitation, je ‘ contesterais toujours votre réclamation. Dire que GNU / Linux est plus orienté GTK parce quUbuntu est la distribution la plus populaire, cest comme dire que Christiano Ronaldo est le meilleur sportif parce que le football est le jeu le plus joué au monde. (Je ‘ d conteste cela aussi)
  • @darnir I ‘ je vais mettre le  » GNU  » qualificatif puisque je parlais du système dexploitation dans un sens familier. Je ‘ je défends ma thèse selon laquelle il est plus orienté GTK que Qt: GTK (qui signifiait à lorigine  » GIMP Tool Kit « , et GIMP = the GNU Image Manipulation Program), GIMP et GNOME sont tous des projets GNU et une partie essentielle de leur vision (de lutilisateur) pour un système dexploitation , qui est associé au noyau est ce que  » linux  » est historiquement. Donc GTK a été développé principalement pour Linux, il est également C ++ natif (vs Qt ‘ C ++), alors que Qt est plus un véritable multiplate-forme
  • Bien que je sois daccord avec vous sur lhistoire et létymologie de GTK, cela nimplique pas implicitement que GNU / Linux est orienté GTK. En fait, le contraire est vrai et est confirmé par vos déclarations. GTK a été conçu pour Linux, et non linverse. Je ‘ défendre ma thèse affirmant que Linux en tant que noyau et GNU / Linux en tant que système dexploitation sont indépendants de toute boîte à outils dinterface graphique. GTK est souvent vu dans la nature plus que Qt à cause de la forte dépendance dUbuntu ‘. Le fait quil soit plus léger sur les ressources système aide également.
  • @darnir Oui, le système dexploitation est essentiellement agnostique WRT la boîte à outils GUI – je ne prétendrais pas que GTK est  » la boîte à outils native « , etc. Mais vous ‘ vous vous trompez sur la raison pour laquelle  » est souvent vu dans la nature plus  » – GTK était la boîte à outils la plus utilisée sur la plate-forme avant même quUbuntu existe en raison de la relation susmentionnée avec dautres parties fondamentales largement utilisées par toutes les distributions. Cest pourquoi la plupart des applications GUI Linux sont déjà des applications GTK, et pourquoi, sans plus de contexte pour continuer, il est logique den informer un nouvel utilisateur  » autant choisir celui-là « , toutes choses étant égales par ailleurs. Mais cela na pas vraiment dimportance.
  • Lutilisation de plusieurs boîtes à outils différentes nécessiterait également beaucoup plus de stockage; Je ‘ ne pense pas que cela aurait un impact sur les performances, mais juste l’espace pour d’autres choses.

Réponse

Non, il ny a aucune différence dans la structure interne de ces programmes. GTK et Qt sont des boîtes à outils et des frameworks dinterface utilisateur. Ce sont des bibliothèques que les développeurs utilisent pour concevoir des interfaces graphiques.

Lorsquun programme graphique (GUI) est écrit, ses composants internes principaux sont dabord développés. Cest ce qui fait fonctionner le programme. Vous ne voyez jamais le noyau, ils s’exécutent simplement en arrière-plan. En plus de ce noyau, une interface utilisateur (UI) est conçue.

Désormais, les développeurs peuvent concevoir linterface complète à partir de zéro, ou réutiliser des designs créés par dautres. La réutilisation du design présente un avantage majeur. Il permet à tous les programmes de votre ordinateur de se ressembler. Par conséquent, ils utilisent des boîtes à outils GUI. GTK et Qt sont deux toolkits GUI extrêmement courants.

GTK est le toolkit standard pour GNOME tandis que Qt est utilisé par KDE. Du point de vue de lutilisateur, ce ne sont que les regards qui diffèrent. Le programme reste le même dans l’esprit.

Réponse

Un autre aspect important à prendre en compte est la licence Qt lien vers la divulgation de leur licence qui est explicitement définie pour être librement accessible à la plupart des projets à but non lucratif, mais une relation commerciale est possible et peut avoir des restrictions dans ce cas. Alors que GTK, déclarez explicitement quil peut être utilisé librement même dans les applications propriétaires Instruction GTK :

Are there any licensing restrictions? GTK is free software and part of the GNU Project. However, the licensing terms for GTK, the GNU LGPL, allow it to be used by all developers, including those developing proprietary software, without any license fees or royalties. 

Un aspect clé du développement dinterface graphique complexe reposera sur GLADE en tant que kit de conception et si cela correspond à votre approche glade link . Il vise à être multi-plateforme, mais peut ne pas être aussi largement supporté que Qt.

Réponse

Comment se comparent-ils par rapport à leurs modèles dobjet respectifs, et dans quelle mesure suivent-ils la norme C ++ – dans mon expérience limitée, QT semblait être un peu hacky avec ses générateurs de code et réinventer la roue avec leurs propres classes fonctionnellement équivalentes pour les chaînes et les classes. En bref, QT semblait avoir plus de sifflets et de cloches, ce que je suis sûr que beaucoup trouvé utile, mais il semblait également avoir une sensation lourde et exclusive. Comme je lai dit, javais une expérience limitée avec lui (et encore moins avec Gtk). Jaimerais avoir quelques opinions sur la manière dont ils se comparent aujourdhui – du point de vue dun développeur, qui penche vers des approches génériques des choses qui essaient dutiliser les normes C ++ (comme STL, les chaînes C ++, les threads, etc.)

Commentaires

  • Cela ressemble beaucoup à une opinion personnelle, pas à une réponse factuelle que ‘ attend sur la plupart des sites SE. Notez également que des éléments comme QString sont nés par nécessité il y a des décennies, alors quil ny avait pas de fonctionnalités équivalentes dans la STL. Maintenant que les normes C ++ modernes ont repris la plupart des fonctionnalités, de nombreuses classes Qt ne sont que de minces enveloppes autour des solutions C ++ natives.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *