salut,
je souhaiterais faire une petite application graphique multi OS, quel bibliothèque graphique me conseillé vous ? QT, wxWidget, GTK ... ?
salut,
je souhaiterais faire une petite application graphique multi OS, quel bibliothèque graphique me conseillé vous ? QT, wxWidget, GTK ... ?
Qt 4 est la plus evoluee, si tu peux developper en GPL.
merci,
c'est ce que je commençais a regardé. Mais je trouve pas de tuto d'install sous linux ! As tu un lien qui explique bien, je n'ai trouver que des tuto window
Qt Qt Qt Qt....
Et WxWidget ?C'est pas mal non plus !
![]()
GTK c'est du C donc bye bye.
wxWidget : un bon framework sous licence LPGL. Mais moins complet que Qt avec du code "plus sale" et moins modulaire mais il permet quand même de faire de bonne chose (C::B, amule, ...) .
Qt 4 : La rolls royce des framework graphique. Très complet, très simple, mais sous licence GPL si tu ne peux pas te payer une licence pro.
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
GPL ?
Est ce que l'on peux me rappeler vite fais ce que c'est ? (a part le system qui remplace le carburant :p je me rappel plus ce que c'est vraiment !)
guiyomh >> Euh RTFM là ?
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
YAccccccccc c'est quoi ce language, suis-je fatigué !
Je trouve plus le traducteur et le dico dans la barre d'outil du forum.
C'est pas grave j'irais sur wikipédia me rafraichir les idées, mais avant je passerais sur le billard du docteur housse.
RTFM : read this fucking manual (lis ce p*tain de manuel)
GPL : Officielement c'est GNU GPL, mais bon, ca donne ca:
http://fr.wikipedia.org/wiki/Licence...e_générale_GNU
"Never use brute force in fighting an exponential." (Andrei Alexandrescu)
Mes articles dont Conseils divers sur le C++
Une très bonne doc sur le C++ (en) Why linux is better (fr)
GTKmm est un wrapper pour C++ de GTK, créé par les concepteurs originaux je pense et assez complet d'après ce que j'ai pu voir.
Sinon, l'approche de GTK(mm) en matière de conceptioni graphique est vraiment pas mal du tout. Pour ceux qui ne connaissent pas, une petite explication:
En GTK, on utilise toujours un GUI Builder: Glade. Depuis de très nombreuses versions, Glade ne génère plus de tout de code. Au lieu de ça il génère un fichier XML. Dans le code, on utilise quelques commandes simples pour charger le fichier XML et afficher les fenêtres. La vous me direz: "mais à quoi ça sert, il me faut des objets représentant mes composants sinon elle a rien de dynamique mon IHM". C'est la que ça devient génial. Dans le concepteur, on assigne des noms aux composants qui nous intéressent. Dans le code, on utilise une commande pour récupérer l'objet représentant le composant à partir de son nom, on downcast, et c'est bon.
L'intérêt est de n'avoir dans son code que les parties utiles. Si vous déposez une dizaine de labels statiques dans votre interface, vous n'aurez pas dix labels dans le code qui ne serviront à rien comme avec certains concepteurs de GUI (je pense principalement aux concepteurs Swing pour Java). Le code contient uniquement ce qui est intéressant. Ça peut aussi être très pratique pour l'internationalisation ou pour des refontes du GUI sans même avoir à toucher au code.
Perso je ne l'utilise pas surtout parce que je suis sous Windows et que, malheureusement, le package GTK+GTKmm est vraiment énorme (dans les 60-80 Mo, par rapport à WxWidgets et ses 2-4Mo y a pas photo...). Mais sous linux je reconsidèrerais la question.
Sinon, pour une explication pas trop technique de la licence GPL: bon, tout le monde le sait c'est une licence open source, ce qui signifie dans les grandes lignes qu'il est obligatoire de fournir les sources d'un programme sous GPL et que tout le monde peut l'utiliser gratuitement.
L'ennui avec la GPL, c'est que toute modification d'un programme ou tout ajout de code utilisant une biblio en GPL doit à son tour être en GPL. Il n'y a rien de plus complexe à expliquer pour ce qui est de l'aspect technique, mais on peut en faire quelques constatations:
- Dans le cas d'un programme destiné à être utilisé directement par un utilisateur final: oon peut s'arrêter au fait qu'il est gratuit et que les programmeurs peuvent éventuellement aller fouiller dans le code pour comprendre le mode de fonctionnement. On peut aussi créer des forks du projet pour ajouter des fonctionnalités (qui seront eux aussi gratuits) ou corriger des bugs. Tout le monde est content. L'éditeur n'a à priori pas de possibilité de faire du profit avec ce programme (sauf en offrant des services annexes, support, documentation, etc... mais c'est la même chose avec les autres licences).
- Dans le cas d'une bibliothèque (Qt) ou d'un programme ne pouvant fonctionner qu'en conjonction avec d'autres programmes (MySQL), la démarche n'est pas du tout la même de la part de l'éditeur, dans le cas qui nous intéresse c'est une démarche commerciale. Si quelqu'un veut faire un programme pour utilisateur final avec cette biblio il a deux possibilités. Soit il met son programme en licence GPL (mais comme expliqué au point précédent, il y a peu de possibilités de faire du profit) soit il paye pour obtenir la biblio sous une seconde licence qui lui permettra de maintenir son programme closed-source. L'utilité de proposer la licence GPL en plus de la licence commerciale? -> se faire de la pub, en permettant aux "pauvres" d'utiliser la biblio mais sans faire de profit et à ceux qui peuvent payer de la tester sous toutes les coutures.
A noter que ceci est valide à partir du moment où l'éditeur de la biblio utilise un système de double licence, si ce n'est pas le cas c'est une démarche anti-commerciale, il n'y a tout simplement aucune possibilité de vendre quoi que ce soit utilisant cette biblio (beaucoup de bidules spécifiques linux sont comme ça).
Conclusion: si tu envisages de faire du profit sur ton programme, soit tu payes une licence Qt, soit tu utilises une biblio avec une autre licence (fort heureusement, la GPL est probablement la licence open-source la plus restrictive, les autres sont bien plus cool). Sinon la licence GPL est une bonne solution pour un programme full-gratuit, full-modifiable.
N'importe quoi.bon, tout le monde le sait c'est une licence open source, ce qui signifie dans les grandes lignes qu'il est obligatoire de fournir les sources d'un programme sous GPL et que tout le monde peut l'utiliser gratuitement.
C'est fou cette incompréhension qu'il peut y avoir sur les licences libres...
1) une licence open-source ou libre (c'est différent, mais dans les faits il n'existe pas de licence qui soit l'un et pas l'autre) est une licence qui permet de faire autant de copies qu'on veut, d'utiliser pour n'importe quel usage (commercial inclus) et de redistribuer la donnée ou un dérivé (éventuellement en échange d'argent) à qui que ce soit, sans rien reverser.
2) La GPL est une licence libre qui en plus la particularité de forcer la redistribution à s'effectuer sous une licence qui ne restreint pas les droits d'usage et de redistribution. Il n'est par ailleurs pas autorisé de redistribuer des travaux dérivés sans en distribuer les sources.
Et en quoi cette description, qui spécifie bien "dans les grandes lignes", entre en contradiction avec ce que tu viens de dire?
Parce que ce que tu dis, c'est spécifique à la GPL alors que tu laisses sous-entendre que c'est valable pour tout l'open-source, tu parles de gratuité alors que c'est totalement orthogonal, tu oublies tous les éléments fondamentaux. Distribuer les sources n'est pas suffisant. C'est pas parce que je peux libre un code que je suis libre d'en faire ce que je veux, de le modifier, de le redistribuer etc.
Heu, je pensais avoir bien spécifié que je parlais de la GPL. Bah si c'est pas comme ça que tu l'as compris...
D'où les 15 lignes pour expliquer pourquoi ce n'est pas à proprement parler gratuit en pratique.
Si tu veux apporter un plus à la discussion, confronte moi à de fausses affirmations que j'ai faites, pas à de vulgaires question sémantiques s'il-te-plait. J'ai toujours trouvé que le débat "qu'est-ce qu'un logiciel libre?" a été mené par moult personnes qui s'étaient forgés leur opinion dans leur coin et qui bataillaient pour imposer une signification parmi d'autres de cet adjectif => donc un débat monstrueusement plat. Je ne veux donc pas y participer. Si tu n'apprécie pas l'ignoble sacrilège que j'ai pu commettre en tentant de définir l'open-source en une seul phrase alors je la raye si ça te fait plaisir.
Moi j'ai juste tenté d'expliquer comment se concrétisait la GPL dans des cas réels.
Pour info, le designer qui pond une description xml de l'interface, ca marche ainsi sous Qt depuis bien, bien longtemps. Cette interface xml peut etre compilee en code (chargement plus rapide au lancement) ou bien traite a la volee, au runtime.
Qt 4 est bien plus qu'un lib graphique. C'est un veritable framework, avec une relle portabilite. C'est pas que le GUI, c'est le xml, le reseau, le Html, le SVG, la video, la musique, la 3D, les theads, l'IPC, les bases de donnees, le scripting, la traduction, et j'en passe qui sont entierement integres. C'est simplement incomparable avec tout le reste. L'aide disponible est elle aussi incomparable. C'est un produit commercial, et ca n'a pas que des inconvenients
GTK sous Windows ca n'a jamais perce et ca a toujours ete bancal. Seul The Gimp et Gaim l'utilisent a ma connaissance.
wxWidget est pas mal ouiIl avait ma preference il y a un certain temps. Mais on est maintenant _tres_ loin de ce que propose Qt:
http://qt.developpez.com/doc/latest/examples.html
Je n'ai jamais eu de problème avec GTK+ sous Windows.
Y'a quelques années ça bugguait mais de nos jours ça marche très bien.
Je n'ai pas parle de bug. Je dis juste que cette bibliotheque n'a jamais vraiment trouve preneur sous Windows. La derniere fois que je m'y etais interesse, ils ne supportaient pas VC++ mais seulement MingW. Ca n'a pas l'air d'avoir change. Tant que ca restera ainsi, la popularite de cette lib sous Windows n'augmentera pas.
Les sources sont disponibles. Ça supporte n'importe quel compilateur.
D'ailleurs je me rappelle parfaitement d'avoir vu un site qui proposait des builds pour MSVC++, que ce soit de GTK+ ou de GTKmm.
Ah ok. Cela dit, pour du dev sous Windows comme OS numero 1, je reste reserve.
Partager