
Bonjour, Je suis sous Linux et doit développer une interface graphique en C/C++. De ces 2 environnements graphiques : GTK+, Qt lequel est le mieux documenté et le plus simple à développer ? Et wxWidgets qui s'adapte à l'environnement de l'OS peut t-il être un choix judicieux ? Merci d'avance de votre réponse. didier Didier |
QT est sympa et plutôt bien documenté mais je n'apprécie pas vraiment le fait d'apporter carrément des changement dans langage (à coups de macro et de générateurs automatique de code même si qmake rend ça plus ou moins transparent), pour introduire les concepts de signal/slots. Je trouve également dommage d'utiliser des classe spécifiques pour les Collection, String, ... alors qu'il en existe déjà des standard. Je connais moins bien GTK, mais je n'ai jamais entendu dire qu'il manquait de support/doc. --------- La vapeur vaincra. Membre de la V4p0R T34m <-- Le forum aussi actif que productif ;) |
Il faut penser à l'utilisateur de l'application. Il est sur quel OS, cet OS est-il susceptible de changer? |
Le seul probleme avec Qt c'est la taille que ca prend... si tu veux faire un turc un peu leger, c mort :/ |
JackosKing (./2) : Pour une appli devant tourner sous Linux avec Gnome ou KDE, et par la suite peut-être sous Windows et Mac. C'est pourquoi je pensais à wxWidgets qui utilise , d'après ce que j'ai lu, les bibliothèques natives des plates-formes cible. On fait ainsi l'économie du portage vers d'autres OS, une simple compilation sous l'OS cible suffit .... Didier |
nEUrOO (./3) :Si c'est du Linux only, je ne pense pas que ce soit une problème, QT est généralement déjà installé. Pour du windows les DLL sont certes un peu grosses pour un micro projet, maintenant reste à voir si c'est critique. --------- La vapeur vaincra. Membre de la V4p0R T34m <-- Le forum aussi actif que productif ;) |
QT est multi-plateforme, mais il est monstrueux. Je le déconseille sauf si tu as besoin de ce que propose en plus Qt (ie pas bcp de chose en plus de la STL.). Un exemple d'application QT: Skype wxWidgets: VLC gtk: Gimp |
Niveau utilisateur, je sais que je préfère une app codée avec Qt que GTK... Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique. |
didier (./4) : Si tu veux un portage vers d'autre plateformes, alors je te déconseille GTK, qui va devenir une plaie, dès que tu n'est plus en environnement Linux. QT et wxWidget sont clairement les soultion à envisager. Je ne connait pas vraiment wxWidget, mais à ce que j'ai compris il rend seulement l'interface graphique portable. QT fait de même mais il ne se contente pas d'une API de widgets graphiques, mais fournit plein d'outils (Threads,GUI,XML,SVG,Browser,Réseau, ...) qui fonctionnent sans problèmes quelque soit la plateforme, le plus souvent avec une simple recompilation. Au final, ça m'a vraiment donné l'impression de travailler avec l'API JAVA. Bref je pense que si tu veux faire quelquechose de portable avec un minimum d'effort QT est la meilleure solution. Par contre un problème de licenece va se poser avec QT, car soit tu paye la licence(qui n'est pas donnée) soit ton programme devra être en GPL(à voir si ça te pose problème ou non). --------- La vapeur vaincra. Membre de la V4p0R T34m <-- Le forum aussi actif que productif ;) |
La GPL pour Qt s'impose même sous Linux ? (i.e. est-ce qu'on peut dire que ça fait partie de l'OS ou pas ?) JackosKing (./6) : Au contraire, y a un nombre impressionnant de libs multiplateformes qui vont bien au-delà de la STL... « The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais) |
exemple de truc utile? :P |
en jetant un coup d'oeil à la doc : threading/sockets/HTTP/SQL/SSL/XML/regexp/unicode/formats d'image/surveillance du système de fichiers... « The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais) |
Il y a en malheureusement certaines fonction en doublon avec la STL, notamment les String et les Collections. Mais il y a quand même pas mal de fonction avancées bien pratique. --------- La vapeur vaincra. Membre de la V4p0R T34m <-- Le forum aussi actif que productif ;) |
Merci pour vos réponses. Didier |
Uther (./8) : Je viens de consulté rapidement la doc de wxWidget : http://www.wxdev.fr/doc/wx_contents.html et ça semble être assez complet : il y a tout pour la gestion réseau, des threads, timer, etc.... et aller au-delà de l'interface graphique. Et cette bibliothèque est sous licence LGPL, proche de GPL Didier |
Pollux (./9) : Oui. (i.e. est-ce qu'on peut dire que ça fait partie de l'OS ou pas ?) Cette exception ne marche pas dans ce sens. Ça permet d'utiliser les logiciels sous GPL avec des libs propriétaires si elles font partie de l'OS, pas l'inverse. Cf. http://trolltech.com/company/about/businessmodel . Quant à wxWidgets, son problème principal, c'est que wxGTK (le backend utilisé sous GNU/Linux) est bogué et lent. wxWidgets est aussi moins pratique à utiliser (pour le développeur) que Qt. En revanche, si tu veux coder une application propriétaire (non-libre) sans payer une licence commerciale de Qt ( va ch**r, parasite! ), alors wxWidgets est ton seul choix (ou à la limite GTK+, mais le support pour autre chose que *nix/X11 est plutôt limité). Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
didier (./15) :On ne peux pas dire que la LGPL soit proche de la GPL, c'est plutôt une version adaptée particulièrement au le cas des bibliothèques. Il y a très une grosse différence: une bibliothèque LGPL comme xwWidget peut être utilisée avec n'importe quelle application, qu'elle soit libre ou non, alors que justement la version de QT sous GPL, ne peut être utilisé qu'avec des programmes GPL. --------- La vapeur vaincra. Membre de la V4p0R T34m <-- Le forum aussi actif que productif ;) |
Kevin Kofler (./16) : Pourtant le noyau Linux est sous GPL et on peut exécuter des programmes propriétaires, donc ça marche dans les deux sens : l'important est que l'interface soit bien définie... Et c'est probable qu'elle ne le soit pas dans le cas de Qt. « The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais) |
Uther (./17) : Apdaptée au cas de certaines bibliothèques, inadaptée pour d'autres. Il y a très une grosse différence: une bibliothèque LGPL comme xwWidget peut être utilisée avec n'importe quelle application, qu'elle soit libre ou non, alors que justement la version de QT sous GPL, ne peut être utilisé qu'avec des programmes GPL. Ou des licences libres compatibles (genre la licence MIT X11), ou certaines autres licences libres spécifiées dans l'exception de licence de Qt. Pollux (./18) : Les programmes ne sont pas linkés au noyau dans le sens classique, et le noyau Linux comporte un fichier texte qui clarifie clairement que la GPL n'est pas appliquable aux programmes qui ne font que tourner dessus. Mais si la glibc était sous GPL plutôt que LGPL, ce serait autre chose! Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
Sauf que j'imagine que ce readme n'a aucune valeur légale en soi, i.e. ce n'est pas une exception mais juste une clarification de l'interprétation voulue de la GPL. Pourquoi est-ce que cette interprétation serait correcte pour le noyau et pas pour une surcouche de Qt qui serait conçue pour avoir une interface aussi propre que celle du noyau ? « The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais) |
Ce readme est généralement considéré comme ayant une valeur légale, parce qu'il clarifie l'intention de Linus Torvalds, ainsi que des contributeurs qui contribuent au noyau en ayant connaissance de ce fichier. Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
IANAL mais ça m'étonnerait qu'un readme ait une quelconque valeur juridique. parce que vu le nombre de jurisprudences qui doivent toucher ce sujet, ça m'étonnerait qu'on puisse dire "généralement le readme blabla" aussi facilement. Nspire wiki ~ TI68k/z80 RSA factoring project CONDUCTEUR Va-et-vient Des QUATRE MANCHE AVEC DES DIODES |
squalyl (./22) : Regarde le nombre de logiciels qui mettent l'entête "... may be distributed under the GNU General Public License as released by the Free Software Foundation, either version 2 of the license, or (at your option) any later version." uniquement dans leur readme. Mainteneur de TIGCC (le vrai) (Co-)Administrateur du Forum TICT et TIGCC (anglophone) Modérateur sur MobiFiles (germanophone) Fondateur de #tigcc sur irc.freequest.net (UTF-8) CalcForge – le nouvel hébergement de CalcForgeLP (ex TiLP) et Emu-TIGCC (ex TiEmu) Participez à la reprise de Ti-Gen! |
eh bien c'est pas bien. et tu devrais dormir à cette heure ci Nspire wiki ~ TI68k/z80 RSA factoring project CONDUCTEUR Va-et-vient Des QUATRE MANCHE AVEC DES DIODES |
Kevin Kofler (./21) : Oui pour Linus Torvalds, mais pour les autres contributeurs c'est plus délicat, surtout si des bouts de code GPL externes ont été intégrés au noyau : les auteurs des bouts en question ne pouvaient pas avoir connaissance du readme. Le but d'une licence comme la GPL est justement de niveler les intentions : à moins qu'il y ait une exception (dans ce cas-là c'est plus la GPL, c'est une licence différente qui peut être convertie en GPL, et donc qui ne peut plus utiliser de morceaux de logiciels GPL pure), toutes les licences sont les mêmes. Kevin Kofler (./23) : Y compris des gros projets collaboratifs ? « The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais) |