Salut,
Je souhaite me mettre au C++, mais pour ça, j'aimerais bien choisir une bibliothèque graphique, et pour l'instant, je ne sais pas laquelle choisir...
Pour l'instant, je suis tenté par wxWidgets, car elle à une license moins restrictive, mais j'aimerais bien savoir si elle est aussi bien maintenue que Qt & GTK+, si elle propose de la doc. en français, ce qu'elle à de plus et de moins que Qt & GTK+, et si elle gère bien l'UTF-8 (j'ai vu qu'elle le gérait mal, mais ça remonte à 2004)...
Pour l'instant, je recherche une bibliothèque graphique :
- puissante
- multi-plateforme (critère important)
- Maintenue, à jour...
Et j'aimerais aussi savoir si Qt s'intègre aux fenetres windows, au niveau du "style" ou si il a une interface qui ne chenge pas (comme GTK+)
Que me conseillez-vous ?
PS: L'avis de ceux qui ont testé plusieurs bibliothèques graphiques m'intéresse particulièrement.
Et j'aimerais aussi savoir si Qt s'intègre aux fenetres windows, au niveau du "style" ou si il a une interface qui ne chenge pas (comme GTK+)
tu as le design par défaut de ton OS (windows normal, XP ou mac ! pour linux par défaut c'est "plastique") mais tu peux le changer facilement.
Citation : palkeo
Que me conseillez-vous ?
Si la licence ne te dérange pas trop, Qt est un excellent choix.
Citation : palkeo
PS: L'avis de ceux qui ont testé plusieurs bibliothèques graphiques m'intéresse particulièrement.
j'ai jamais pu tester wxwidgets (impossible à installer, j'ai réussi avec les devpacks mais aucun code ne voulait compiler).
Et rien qu'à voir le code pour les événements (DECLARE_EVENT_TABLE ...) je trouve que çà alourdit le code.
Je suis passé de wx à Qt et je ne peut te conseiler de prendre la 2eme.
En effet, elle bien plus puissante et mieux fournis que wx.
De plus, elle est plus simple sur certains points non négligables.
Bon, objectivement j'ai utilisé les deux (j'ai peut-être plus utilisé wxWidgets que Qt par le passé d'ailleurs).
Installation :
Qt : très simple d'installation sous Windows en tout cas.
wxWidgets : une galère. J'en ai bavé avant d'arriver à le compiler. Si tu débutes c'est un peu chaud.
Utilisation :
Qt : très simple d'utilisation dans l'ensemble, bien fourni, bien organisé
wxWidgets : bien fourni, bien organisé aussi. Ce n'est pas beaucoup plus compliqué à utiliser que Qt au final, même si je trouve le code de Qt en général plus joli (les macros d'évènements wxWidgets sont moches, mais elles ne nécessitent pas de moc elles au moins).
Licence :
Qt : c'est son point noir, tu ne peux l'utiliser que pour faire des programmes Open Source (et un particulier n'a pas les moyens de se payer la licence propriétaire).
wxWidgets : il te donne le plus de libertés à ce niveau, tu fais ce que tu veux avec.
Mises à jour :
Qt : très souvent
wxWidgets : je ne me tiens pas trop au courant, mais c'est un projet solide et matûre (comme Qt), aucune inquiétude à avoir de ce côté-là non plus.
[...]
wxWidgets : une galère. J'en ai bavé avant d'arriver à le compiler. Si tu débutes c'est un peu chaud.
Hum, je ne me souviens pas d'avoir rencontré beaucoup de problèmes de ce côté-là. À l'occasion, j'essaierai de me souvenir de ce que j'avais fait, si ça peut être utile à quelqu'un...
Citation : M@teo21
Licence
Qt : c'est son point noir, tu ne peux l'utiliser que pour faire des programmes Open Source
Mouais, je reconnais que c'est forcément gênant (euphémisme) si on veut écrire un soft propriétaire, mais quand même, présenter ça comme un "point noir" me choque un peu...
D'autant que pour un débutant, je ne pense pas que la question de la licence ait beaucoup d'importance : pour ma part, je n'avais jamais envisagé de distribuer (que ce soit sous une licence libre ou pas) les premiers programmes que j'ai écrit (j'avais plutôt envie de les cacher pour que personne ne voit ça ).
Qt : c'est son point noir, tu ne peux l'utiliser que pour faire des programmes Open Source (et un particulier n'a pas les moyens de se payer la licence propriétaire).
Je ne sais pas si çà marche pour les particuliers, mais pour les entreprises qui font moins de $200,000 de bénéfices (ou CA je ne sais plus) par an et qui ont moins de $200,000 de capital, elles ont 65% de réduction (Small Business).
Qt Desktop Edition - 1 plateform passe de €2630 à €920.5
Et puis comme goutted, je doute qu'ici beaucoup de gens veulent faire des softs proprio (font seulement de la sécurité par l'obscuration)
Pour un débutant, ça n'a pas d'importance particulière. Moi non plus je comptais pas redistribuer, je le faisais pour moi. Il n'empêche que ça reste un point noir au niveau de ta marge de manoeuvre avec cette lib comparé à wx
Mais les avantages de Qt sont pour moi supérieurs à cette limitation (car c'en est une) et c'est pour cela que j'ai choisi Qt.
Ou sinon il y a l'api windows qui fonctionne uniquement sous windows et fonctionnera toujours sous windows puisque c'est la base et qu'il est native au système.
Avantage:
Contrôle total
Exemple: contrôle tout sur les fichiers avec les fonctions comme CreateFile(),ReadFile(),
contrôle total de tes fenêtres,des périphériques (contexte de périphérique,un contrôle total mais sans connaitre son fonctionnement) et autres,c'est la partie la plus basse après le noyau et les drivers.
Tu peux recodées toutes les biliothèques que tu veux.Que ce soit audio,graphique,3D et autres.
Tu peux faire tes propres format de fichier,tes propres format de fichier intégré au programme(comme les .rc sous windows en utilisant les ressources).
Tu peux récoltées des informations détaillé sur ton système,comme par exemple:
Perçevoir toutes les frappes provenant du clavier,sans pour autant que ta fenêtre liée à ton processus est le focus,idéale pour faire un keylogger.
Modifier le stade de ton processus
Lire les données des autres programmes
Modifier la priorité de ton processus
et plein d'autres choses.
(Après tu peux toujours utilisés les ressources et autres mécanismes haut niveau tout fait intégrés dans l'api win32,ce que je ne fait pas car il n'y aurait pas de plaisir à programmer avec l'api win32 )
Désavantage:
non portable.
utilisable uniquement en C.
Après il existe des surcouches de cette API native au système,comme la MFC ou .NET qui te permet de l'utilisé en C++, mais bon... à ce moment là autant utilisées des surcouches portable(wxwidget ou Qt).
Personnelement je préfère utiliser wxWidgets cela plus pour une raison de "feeling" qu'autre chose. Mais aussi quelque part parceque je sais que quoi que je fasse (soft libre ou non) j'ai droit d'utiliser wxWidgets (et je n'aurais pas besoin de réapprendre à maîtriser un autre framework).
Et contrairement à ce qui est dis par certains l'installation n'est pas particulièrement galère:
-installation via les devpaks (marche même pour C::B) qui a le mérite d'être avantageuse par le petit espace disque occupé ,on ne compile pas les lib's mais les libs ne sont que dans leur version GCC,
-la méthode wxPack pas de compilation non plus, lib's pour GCC et Visual (distinctes)
-compilation, c'est ce qui peux poser des problèmes.
Le développement de wxWidgets est soutenu, ce n'est pas un projet amateur .
Avantage non négligeable, wxWidgets a des bindings dans de nombreux langages (Python, Ruby, C#, C, D, Perl et d'autres)
Je viens de tester Qt, ça marche impec, et ça m'a l'air génial, et très clair au niveau du code, à en voir les exemples !
Donc, j'hésite toujours, entre wxWidgets, et Qt...
Et, si wxWidgets m'intéresse autant que Qt, c'est justement à cause de la license.
Citation : altic
Mais aussi quelque part parceque je sais que quoi que je fasse (soft libre ou non) j'ai droit d'utiliser wxWidgets (et je n'aurais pas besoin de réapprendre à maîtriser un autre framework).
c'est exactement ça qui me pousse à utiliser wxWidgets. Mais d'un autre côté, je ne sais pas si il est aussi bien que Qt : par exemple, peut-on prendre des captures d'écran avec, peut-on afficher une "info-bulle" à partir d'un "tray-icon" (icone de la barre en bas à droite pour windows XP)
Enfin bref, je suis dans le flou total, là, j'hésite vraiment...
Je suis d'accord avec altic, wxWidgets est bien moins difficile à installer qu'il n'y parait, surtout avec wxPacks, y'a pas plus simple, juste à se laisser guider, et au final, on a une intégration complète sous VS par exemple (dans mon cas).
J'ai commencé Qt, et il y à un tuto du SdZ dessus, mais il y à aussi un tuto très complet sur wxwidgets (un topic du SdZ en parle)
Bon, apparemment wxwidgets m'a l'air très puissant : Code::blocks l'utilise, VLC aussi, mais Qt est utilisé par VPN, et d'autres, à voir le tuto C++...
Bon, apparemment wxwidgets m'a l'air très puissant : Code::blocks l'utilise, VLC aussi
Citation : wiki VLC
# The wxWidgets Interface (wx) is the default interface on Linux and Windows.
# The Qt Interface (qt) will be the default interaface on Linux and Windows.
(ps : la faute est d'origine et oui j'aime chercher la petite bête )
Et puis Qt est très simple à apprendre au pire (non-sens) tu pourras l'apprendre par la suite
wxWidgets est très simple à apprendre: au temps l'apprendre en premier ...
Tu peux argumter un peux stp? car autant dire à un mome que marcher c'est facile alors qu'il sait pas encore que ça consiste à mettre un pied devant l'autre.
Est-ce plus facile que Qt? Parce que facile ne veux pas dire "plus facile que...". (Oui, je sais : je fait chi** )
J'ai déjà dit que ça se valait. Je trouve le système d'évènements de Qt plus joli, mais celui de wx est tout à fait honnête.
Le code minimal pour une application wx est plus gros que celui d'une appli Qt.
A part ça cherchez pas qui est le meilleur, ça se vaut.
Quant a l'API Windows elle est tres puissante mais niveau complexitée...Qt et wx sont des jeux d'enfants a cotés.Et encore, ca c'est quant tu ne gere pas les threads manuellements
Et cette api peut etre utilisée dans quasi tous les langages (sauf les non compilés et ceux sur machine virtuelle), simplement en faisant des appels dll (user32, kernel32,etc...).Pour info je l'utilise actuellement sur DarkBASIC (langage haut niveau ressemblant au C) juste avec les dlls
Autre inconvenient : il faut bien connaitre windows...
Moi je te conseille wx, principalement pour la licence.
wxWidgets n'est pas, à mon avis (qui vaut ce qu'il vaut), ni plus compliquée à apprendre ni plus simple que Qt .
Il a par contre l'avantage d'avoir un tuto en français, très bien écrit, assez complet qui montre presque tous les aspects de wxWidgets (il manque aui, les DC et d'autres petits trucs, mais bon ils ne sont pas non plus utilisés dans chaque app').
Quelle bibliothèque graphique ?
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
If you'd like to join us, read "How do we work at OpenClassrooms"! :)
If you'd like to join us, read "How do we work at OpenClassrooms"! :)
If you'd like to join us, read "How do we work at OpenClassrooms"! :)
If you'd like to join us, read "How do we work at OpenClassrooms"! :)
If you'd like to join us, read "How do we work at OpenClassrooms"! :)