IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ Discussion :

GTK+ ou qt lequel choisir


Sujet :

GTK+

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut GTK+ ou qt lequel choisir
    Bonjour, J'aimerais avoir votre avis sur gtk+ et sur qt et si possible vos expériences personnelles sur ces 2 API graphiques

    Perso, je suis un petit débutant sous gtk +. J'aimerais également savoir lequel est meilleur pour coder sur Windows askip gtk + serait plus linux....

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 268
    Points : 4 829
    Points
    4 829
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Épineuse question .

    La première question à se poser est le langage. Nativement Gtk+ est en C. Qt en C++. Si le langage t'importe peu on peut passer à la question suivante. Sinon il existe aussi Gtkmm pour la version C++.

    La question suivante est le portage. Effectivement il semblerait que Qt soit mieux porté sous Windows que Gtk+. Enfin je parlerai ici plutôt de la facilité à installer l'un et l'autre sous cet environnement. Parce que les deux sont natifs de Linux tout de même ..

    Histoire de conclure je dirai Gtk+, mais c'est très subjectif venant de moi puisque je suis un fervent utilisateur de ce dernier .

    D'autres utilisateur de Qt voir des deux pourront certainement te donner une réponse plus précise.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    août 2008
    Messages
    26 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : août 2008
    Messages : 26 261
    Points : 186 040
    Points
    186 040
    Par défaut


    Effectivement, GTK sous Windows, ça n'était pas très glorieux, ces dernières années, mais je pense que ça s'est amélioré avec la version 4.

    La grosse différence est dans le développement : GTK est surtout développé pour GNOME, Qt est surtout développé par la Qt Company (je ne pense pas que KDE soit un contributeur majeur de Qt). GTK est surtout un produit libre, Qt devient (je le crains) un produit d'appel pour les versions payantes (surtout quand tu as des besoins particuliers, notamment pour l'embarqué — microcontrôleurs, systèmes d'exploitations en temps réel, etc.).

    Un gros avantage de Qt est QML/Qt Quick, une manière déclarative de coder ses interfaces (en QML plutôt qu'en C++ ou Python) : j'adore cette manière de faire, c'est beaucoup plus intuitif et concis ! Tu as toujours accès au C++ si tu as un vrai besoin de performance.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Yo sorry du vent du coup quand vous dites que gtk c'est pour gnome c'est plus pratique pour faire des environnements de bureau ?? Aussi, est il possible de faire une interface graphique aussi beau que gnome shell sans utiliser dimage ??

    En revenant à notre comparaison lequel est plus facile à prendre en main ?? J'ai déjà commencé gtk je connais les bases

    Sorry des questions idiotes je veux juste profiter de vos connaissances un moment.

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 268
    Points : 4 829
    Points
    4 829
    Billets dans le blog
    5
    Par défaut
    Je vais rectifier. Gtk a été d’abord conçu pour créer The Gimp. C’est d’ailleurs toujours le cas. L’équipe Gnome utilise aussi Gtk mais crée ses propres widgets pour leur environnement de bureau.
    Tu peux créer n’importe quoi ou presque avec Gtk, comme avec Qt d’ailleurs. Je rejoins le fait que Qt n’est pas ou peu open source. Ce qui peut aussi faire pencher la balance du côté de Gtk 😉

  6. #6
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Du coup pour finir c'est quoi la différence entre gtk2 ,3 et 4 parce que moi japprend gtk 2 et franchement ça me ferait mal au cœur si certaines fonctions de bases ont changer (si on se réfère à sdl 1 et sdl2

  7. #7
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 268
    Points : 4 829
    Points
    4 829
    Billets dans le blog
    5
    Par défaut
    Gtk2 oublie tout de suite. Totalement obsolète.

    Puisque tu es débutant autant alors apprendre la dernière version, soit la 4.

    Il y a beaucoup de changement entre la 2 et la 3. La 4 aussi apporte son gros lot de changement.

  8. #8
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Merci mais je ne trouve aucun cours pour gtk 4... la documentation, mais j'aimerais si possible une alternative à cette dernière

  9. #9
    Membre du Club
    Femme Profil pro
    Développeuse Web
    Inscrit en
    août 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2019
    Messages : 14
    Points : 66
    Points
    66
    Par défaut
    Salut !

    GTK est le toolkit pour l'environnement GNOME sous Linux, même si beaucoup d'applications GTK sont indépendantes de GNOME et sont multiplateformes (The GIMP par exemple). La dernière version est GTK 4 bien que GTK 3 soit encore utilisé. Initialement c'est un toolkit pour le langage C mais il existe des wrappers pour toutes sortes de langages notamment Python (tuto ici : https://python-gtk-3-tutorial.readthedocs.io/en/latest/ ).

    Avantages de GTK :
    - Bien intégré à l'environnement GNOME
    - Populaire dans la communauté Linux
    - Totalement libre et gratuit

    Inconvénients :
    - Mauvaise intégration à Windows et pire sur Macintosh (catastrophique)
    - Documentation parfois pas évidente à trouver, même si ça s'étoffe peu à peu, et qu'on peut faire des trucs sympa en Python

    Qt est un gros framework avec un toolkit et divers outils. Il est utilisé par l'environnement KDE mais aussi par plein d'applications du domaine industriel. Il est conçu pour le C++ initialement mais heureusement on peut l'utiliser dans beaucoup de langages.

    Avantages de Qt :
    - Bonne intégration à toutes les plateformes
    - Beaucoup de fonctionnalités, beaucoup plus que GTK

    Inconvénients :
    - Certaines fonctionnalités nécessitent une licence pro qui coûte très cher
    - De plus en plus fermé et éloigné de la philosophie open source

    Sinon il existe d'autres toolkits comme Tkinter utilisé nativement pour faire des interfaces rapides en python (facile à utiliser mais moche et peu intégré) ou wxwidgets (que je ne connais pas).

    Est-ce que tu as une idée d'un projet que tu aimerais développer et pour lequel tu hésites entre GTK et Qt ?

  10. #10
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Bonjour
    Pour commencer je connais plus le c que le c++, mais je fait aussi du Java j'ignore certaines base du c++ comme les vecteur

    J'aimerais créer un logiciel pour gérer les points de vente, j'aimerais une interface assez beau pas juste blanche avec des widgets pour la forme j'aimerais également créer une interface stockant les informations d'une personne (là les objets devraient aider mais bon...)

  11. #11
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 268
    Points : 4 829
    Points
    4 829
    Billets dans le blog
    5
    Par défaut
    Si tu désires que ton application fonctionne quelque soit l'environnement sans trop te prendre la tête alors fais la en Java. Puisque tu connais un peu ce langage tu as tous les outils nécessaires à portée de main.

    À partir du moment où tu vas choisir Gtk ou Qt tu vas te retrouver avec des problèmes de portabilité. Vue l'application que tu veux faire, la performance n'entre pas en jeu. Tu peux donc aisément te passer du C ou du C++.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Oui c'est vrai mais je crée ça essentiellement sur Windows

    Apres si je le fais en Java possible d'avoir un app Android? (Android studio est peut être nécessaire)

    Pour être franc j'aimerais si possible un app Android pour ma deuxième application

    Mais pour la première il y aura l'utilisation de l'imprimante je doute qu'une app Android ferait l'affaire

  13. #13
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 268
    Points : 4 829
    Points
    4 829
    Billets dans le blog
    5
    Par défaut
    Android n'est "qu'une couche supplémentaire" à Java. Bon c'est plus simple de l'écrire ici que de le faire mais avoir une application Java doit être assez simple à porter sous Android.

    Côté impression ce n'est pas Android qui s'en occupe. La couche logicielle va accéder au système qui mettra à disposition la dite imprimante. Il doit exister un objet Android pour le faire.

    Par exemple sous Gtk3 il y a widget tout fait : https://developer-old.gnome.org/gtk3...nixDialog.html

    Sous Android : https://developer.android.com/training/printing

  14. #14
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Oui possible mais je la plupart des imprimantes 2d que j'ai vu se connecte que au computer a moins qu'il n'ait des imprimantes prenant en charge la connections Android


    Gtk ira mais vous nauriez pas un petit cours ou pour apprendre le 4

    Sinon sur mon Windows mon system principal (j'ai également kali en dual boot) je n'arrive pas a faire marcher gtk 4 ni 3 sous code block, jai suivi étape 0ar étape le dernier tuto mais rien ca me met erreur au niveau de l'inculture gtk/gtk. Je pourrai le faire sur Linux mais le soucis c'est que je vise Windows en particulier

  15. #15
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    février 2008
    Messages
    2 268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : février 2008
    Messages : 2 268
    Points : 4 829
    Points
    4 829
    Billets dans le blog
    5
    Par défaut
    Pour le cours gtk4 désolé pour l'instant c'est vrai que c'est le néant. Comme tu es débutant et malgré ce que j'ai pu écrire plus haut tu peux commencer avec Gtk3. Comme je ne pense pas qu'il te viendra l'idée de créer tes propres widgets dans un premier temps ca ne devrait pas poser trop de problème de passer par la suite de v3 à v4.

    Quant à l'installation de Gtk sous Windows te répondre n'est pas si simple. En écrivant ce tuto je suis partie d'un Windows tout propre. Je précise que je ne programme pas du tout sous cet environnement. J'ai installé code::block, puis MSYS2. Le plus dure ensuite et de bien faire les mise à jour et les installations des différents paquets sous MSYS2. Une fois fait il ne te reste plus qu'à configurer Code::block.

    Ne sachant pas quel tuto tu as appliqué voila un lien : https://gerald3d.developpez.com/tuto...tk/codeblocks/

  16. #16
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Je pensais étudier la doc en plus il y a des mini cours sur le site officiel je crois

    Sinon c'est belle et bien ce tuto que je suis depuis bien plus d'un an et ça marche pas je vais supprimer et réinstaller le shell peut-être c'est la cause

  17. #17
    Membre du Club
    Femme Profil pro
    Développeuse Web
    Inscrit en
    août 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : août 2019
    Messages : 14
    Points : 66
    Points
    66
    Par défaut
    La programmation en C avec GTK ce n'est vraiment pas évident. Ce n'est plus une solution populaire aujourd'hui. Le C++ est utilisé dans l'industrie mais pour des applications comme les terminaux points de vente typiquement c'est très souvent du Java.

    Java incorpore Swing pour faire des interfaces graphiques. Il y a quelques années j'utilisais JavaFX qui offrait des interfaces plus jolies et plus natives que Swing. Si après tu veux prévoir pour faire une version mobile, pense à bien séparer la logique de la partie interface, fais quelque chose de modulaire de sorte que tu puisses remplacer l'interface PC par des composants Android.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2018
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mars 2018
    Messages : 22
    Points : 18
    Points
    18
    Par défaut
    Je comprends parfaitement tes propos mais, jaurai appris que gtk+ est meilleur que swing après je sais pas pour Java fx du coup

    Pour être tout a faire franc tout dépend du projet en question un simple logiciel de gestion de points de vente ne nécessite aucun langage en particulier ... enfin je crois

    Apres ta totalement raison j'ai pensé a utiliser le Java, du coup l'api que tu me propose à une doc a jour ? Tu aurais des cours à me proposer ? Est t il free ???

Discussions similaires

  1. C ou C++ ? Lequel choisir ?
    Par strategos dans le forum Langages de programmation
    Réponses: 403
    Dernier message: 08/11/2021, 07h59
  2. Lequel choisir???
    Par t_om84 dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 27/10/2004, 14h02
  3. Curseur et lock : Les différence & lequel choisir
    Par BilTCD dans le forum Access
    Réponses: 2
    Dernier message: 22/10/2004, 14h03
  4. [FEDORA] Lequel choisir entre Fedora i386 et x86 pour un xeon?
    Par Oberon dans le forum RedHat / CentOS / Fedora
    Réponses: 7
    Dernier message: 13/07/2004, 14h52
  5. [Conseil] Glut vs SDL, lequel choisir
    Par Mathieu.J dans le forum GLUT
    Réponses: 15
    Dernier message: 08/06/2004, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo