[Débutant] Interface Graphique de base

Interface Graphique de base [Débutant] - C++ - Programmation

Marsh Posté le 26-06-2004 à 18:10:08    

Je me suis mis depuis peu au C++, et sais faire quelques rudiments en "mode texte".
 
J'ai un programe ou je fait un choix (a,b,c,etc..) et qui affiche un résultat.
 
J'amerais créer l'équivalent graphique : Une fenetre avec quelques boutons, et une zone de texte ou le résultat s'affiche quand on clique sur l'un des boutons (remplacant les choix a,b,c).
 
Ne savant absolument pas quoi faire, quoi importer et comment l'utiliser, je appelle à votre connaisances et vos explications.  :hello:  
 
Je vous remercie.  :jap:

Reply

Marsh Posté le 26-06-2004 à 18:10:08   

Reply

Marsh Posté le 26-06-2004 à 18:52:24    

Tu peux utiliser un compilateur avec des assisstants pour faire des applications avec des fenêtres, boites de dialogues etc (exemple : Visual C++, je te le conseil pas forcément parce qu'il n'est pas gratuit (sauf si on le pirate...), et de plus il n'est pas forcément très simple à utiliser au début, mais je n'ai pas d'autre exemple). Dans ce cas, tu as un environement graphique dans lequel tu créer tes fenêtres, boutons, et tu affecte le code que tu veux là où tu veux (un peu genre Visual basic, si tu as déjà utilisé...). Sinon, tu peux utiliser des librairies pour les applications dans ce genre, mais je n'ai pas de nom à te donner. Je sais cependant qu'il y en a plein, dont beaucoup gratuites. Tu peux également utiliser des libraires pour faire des applications graphiques, des jeux par exemple, à savoir pas forcément basé sur un système de fenêtre, mais plutot sur l'affichage pixel par pixel, ou tracé de lignes, de figures géométriques, affichages d'images, etc... ça ne semble pas correspondre à ce dont tu aurais besoin pour ton petit programme, mais ça peut servir. je te citerais par exemple SDL et OpenGL (avec openGL, tu peux en plus faire de la 3D, c'est d'ailleurs surtout prévu pour ça...). Voilà, j'espère que ça te mettra sur la voie, mais malheureusement tout ça n'est pas forcément facile si tu viens de te mettre au C++...

Reply

Marsh Posté le 26-06-2004 à 19:00:48    

Si tu programmes sous Windows, tu peux utiliser différentes API :
- MFC (Pour Visual C++)
- VCL (Pour C++ Builder)
- QT
- GTK
- WxWindows
- etc...
 
Parmi celles ci, je te conseillerais QT, suivi de la VCL. Oublie les MFC, c'est crade et complexe.
 
Sous Linux, tu peux utiliser QT, qui est gratuit. Tu ne trouveras pas mieux, même si GTK et autres sont également disponibles.


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 29-06-2004 à 16:38:18    

Moi j'ai appris avec visual C++, tu arrives a créer une applic comme celle que tu décris très rapidement. Par contre je ne connais que ca donc il existre peut etre mieux!

Reply

Marsh Posté le 29-06-2004 à 19:39:04    

QT all the way :o y a pas photo

Reply

Marsh Posté le 29-06-2004 à 19:56:39    

Harkonnen a écrit :


Parmi celles ci, je te conseillerais QT, suivi de la VCL. Oublie les MFC, c'est crade et complexe.


 
Et pas les WinForms de C# ? :D

Reply

Marsh Posté le 29-06-2004 à 21:01:50    

Il a dit qu'il faisait du C++, et pour avoir testé, le C++ managé c'est de la merde en barres :o


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 30-06-2004 à 12:14:10    

Je conseillerais personnellement wxWidgets (anciennement wxWindows):
1- Extrêmement simple (surtout par rapport aux MFC :o mais c'est pas dur), pas besoin d'un outil RAD pour faire quelque chose d'utilisable (meme si ca aide ;) )
2- Très puissant
3- hautement portable (actuellement dispo sous Windows 95/98/ME, Windows NT/2K/XP, Linux/Unix GTK+, X11 ou Motif, et MacOS)
4- Look tres naturel, chaque port de wxWindows utilise les fonctions natives sur lesquelles il a ete construit, ce qui veut dire qu'un programme wxW compile sous Windows ne sera pas differentiable d'un prog fait avec les MFC, et le meme programme recompile avec wxGTK aura exactement la tronche d'un programme GTK, alors que QT a un look special, identique sur toutes les plateformes mais qui "tranche" avec l'allure des logiciels de la plateforme
5- Il est robuste, on en est a 11 ans de dev ;)
6- Open Source
 
pour plus d'infos, http://www.wxwindows.org
 
ah oui, et 7- Disponible dans de nombreux ports de langages, on retrouve des ports de wxWindows sous Python, Perl, Basic, Java, Lua, Ruby, Eiffel, Hashkel ainsi qu'un port .NET. Ces ports etant en general bien realises, la logique de l'API reste la meme et seule est a changer la logique du langage


Message édité par masklinn le 30-06-2004 à 12:18:06
Reply

Marsh Posté le 30-06-2004 à 13:10:54    

Masklinn a écrit :

Je conseillerais personnellement wxWidgets (anciennement wxWindows):
1- Extrêmement simple (surtout par rapport aux MFC :o mais c'est pas dur), pas besoin d'un outil RAD pour faire quelque chose d'utilisable (meme si ca aide ;) )
2- Très puissant
3- hautement portable (actuellement dispo sous Windows 95/98/ME, Windows NT/2K/XP, Linux/Unix GTK+, X11 ou Motif, et MacOS)
4- Look tres naturel, chaque port de wxWindows utilise les fonctions natives sur lesquelles il a ete construit, ce qui veut dire qu'un programme wxW compile sous Windows ne sera pas differentiable d'un prog fait avec les MFC, et le meme programme recompile avec wxGTK aura exactement la tronche d'un programme GTK, alors que QT a un look special, identique sur toutes les plateformes mais qui "tranche" avec l'allure des logiciels de la plateforme
5- Il est robuste, on en est a 11 ans de dev ;)
6- Open Source
 
pour plus d'infos, http://www.wxwindows.org
 
ah oui, et 7- Disponible dans de nombreux ports de langages, on retrouve des ports de wxWindows sous Python, Perl, Basic, Java, Lua, Ruby, Eiffel, Hashkel ainsi qu'un port .NET. Ces ports etant en general bien realises, la logique de l'API reste la meme et seule est a changer la logique du langage


 
Les themes XP sont-ils aussi supportés ? J'ai pas vu dans les screenshots...

Reply

Marsh Posté le 30-06-2004 à 13:13:24    

Masklinn a écrit :


4- Look tres naturel, chaque port de wxWindows utilise les fonctions natives sur lesquelles il a ete construit,  


 
Déjà rien que pour ça je privilégierais WxWidgets plutôt que QT.
C'est le gros reproche que je fais à QT, à l'utilisation on sent que c'est pas du natif sous Windows :/
C'est dommage que Borland ait choisi QT plutôt que WxWidgets pour la CLX (équivalent multiplateformes de la VCL)


Message édité par antp le 30-06-2004 à 13:14:04

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-06-2004 à 13:13:24   

Reply

Marsh Posté le 30-06-2004 à 13:17:46    

antp a écrit :

Déjà rien que pour ça je privilégierais WxWidgets plutôt que QT.
C'est le gros reproche que je fais à QT, à l'utilisation on sent que c'est pas du natif sous Windows :/
C'est dommage que Borland ait choisi QT plutôt que WxWidgets pour la CLX (équivalent multiplateformes de la VCL)


+1, je peux plus voir des applis QT :/

Reply

Marsh Posté le 30-06-2004 à 15:00:40    

antp a écrit :

Déjà rien que pour ça je privilégierais WxWidgets plutôt que QT.
C'est le gros reproche que je fais à QT, à l'utilisation on sent que c'est pas du natif sous Windows :/


 
J'ai recompilé rapidement une petite appli Qt sous windows, et j'avais eu l'impression que c'était du natif...
 
en fait, ça  a le "look" natif, mais c'est pas du natif ?
 

antp a écrit :


C'est dommage que Borland ait choisi QT plutôt que WxWidgets pour la CLX (équivalent multiplateformes de la VCL)


 
Peut être qu'il était plus facile de négocier une version commerciale de QT avec Trolltech que d'arriver à faire une version pas libre de wxWidgets :D


Message édité par farib le 30-06-2004 à 15:02:06

---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 30-06-2004 à 15:05:53    

farib a écrit :


 
en fait, ça  a le "look" natif, mais c'est pas du natif ?
 
 


 
Ça imite le look de Win32, mais à l'utilisation on "sent" que c'est pas du Win32. Puis sous XP ça ne supporte pas les thèmes.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 30-06-2004 à 15:23:19    

peut etre pour Qt4 alors, sait-on jamais
ca explique aussi pourquoi la DLL est si grosse ( 6 mo )  
Et Qt sous Acqua, c'est du natif ?


Message édité par farib le 30-06-2004 à 15:24:19

---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 01-07-2004 à 11:07:31    

farib a écrit :

J'ai recompilé rapidement une petite appli Qt sous windows, et j'avais eu l'impression que c'était du natif...
 
en fait, ça  a le "look" natif, mais c'est pas du natif ?


C'est un peu ca, QT peut donner une imitation de look natif...
mais ca reste une imitation

Citation :

Peut être qu'il était plus facile de négocier une version commerciale de QT avec Trolltech que d'arriver à faire une version pas libre de wxWidgets :D


Version pas libre? la license wxWidgets authorise parfaitement l'utilisation de wxW dans n'importe quel projet commercial  ;)  

antsite a écrit :

Les themes XP sont-ils aussi supportés ? J'ai pas vu dans les screenshots...


Normalement oui. dans la 2.4.2 (derniere stable) par la technique du "manifest" (http://www.wxwidgets.org/faqmsw.htm#winxp), a partir de la 2.5.x la gestion de theme xp est integree dans la resource wx (wx.rc)
Apres, je presume que la majorite des gens ont autre chose a foutre que s'emmerder avec les themes xp :o  
 
Par exemple SciTech Display Doctor utilise wxWidgets  
http://www.wxwidgets.org/images/screens/screen_sdd_xp.gif

Reply

Marsh Posté le 01-07-2004 à 12:22:37    

Masklinn a écrit :


Apres, je presume que la majorite des gens ont autre chose a foutre que s'emmerder avec les themes xp :o  


 
Ça donne quand même nettement mieux quand ton application s'intègre au look d'XP :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 01-07-2004 à 16:02:30    

Heu ...
 
Lancement de KDevelop, premier prog, premiere erreur :D
*** YOU'RE USING Autoconf version 2.13.
*** KDE requires autoconf 2.52, 2.53 or 2.54
 
Comment on met cela à jour ? : :??:

Reply

Marsh Posté le 01-07-2004 à 16:19:06    

Erkethan a écrit :

Heu ...
 
Lancement de KDevelop, premier prog, premiere erreur :D
*** YOU'RE USING Autoconf version 2.13.
*** KDE requires autoconf 2.52, 2.53 or 2.54
 
Comment on met cela à jour ? : :??:


en téléchargeant autoconf >= 2.52, et en l'installant à la place de l'ancien...


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 01-07-2004 à 16:36:08    

antp a écrit :

Ça donne quand même nettement mieux quand ton application s'intègre au look d'XP :o


Le look XP playmobil/pate a modeler devrait etre interdit, w2k > all

Reply

Marsh Posté le 01-07-2004 à 16:46:54    

Masklinn a écrit :

Le look XP playmobil/pate a modeler devrait etre interdit, w2k > all


 
J'ai pas dit que j'utilisais le thème playmobil par défaut de XP :o
Je trouve qu'il y a des thèmes sympa pour XP
 
sur ce screenshot on voit à quoi ressemble le thème que j'utilise : http://antp.be/temp/xpmenu2.png


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 01-07-2004 à 18:35:45    

pour ma part je commence actuellement à développer des interfaces graphiques, avec GTK+. j'en suis très satisfait, surtout grace à l'excellent tuto de www.gtk-fr.org. il n'est pas exaustif mais très bien fait, et on apprend très vite. personnellement j'ai passé une semaine dessus avant de commencer à développer mon appli, et je n'ai pas eu de soucy par la suite (enfin si, j'en ai eu, mais c'est plutôt d'ordre général, pas spécialement lié à GTK). d'autre part, comme GTK est en LGPL, il te laisse le choix de faire du libre ou du propriétaire. et il est portable.
 
j'ai entendu aussi beaucoup de bien de Qt, que je n'ai pas testé ; mais ce qui m'a rebutté c'est les droits à payer pour la version windows ! en effet je développe sous linux mais je voudrais faire un port windows un jour ou l'autre. par contre j'ai appris depuis qu'il existe une version libre de Qt pour windows, mais pas terminée (je crois).

Reply

Marsh Posté le 02-07-2004 à 15:55:57    

psychotek a écrit :

pour ma part je commence actuellement à développer des interfaces graphiques, avec GTK+. j'en suis très satisfait, surtout grace à l'excellent tuto de www.gtk-fr.org. il n'est pas exaustif mais très bien fait, et on apprend très vite. personnellement j'ai passé une semaine dessus avant de commencer à développer mon appli, et je n'ai pas eu de soucy par la suite (enfin si, j'en ai eu, mais c'est plutôt d'ordre général, pas spécialement lié à GTK). [...] et il est portable.


Les apps sous GTK sont tres tres laides sous windows (ca ne s'integre pas du tout, ca se desintegre plutot)
Et l'un des ports *nix de wxWidgets utilise GTK comme API (il y a aussi un port X11 et un Motif)

Reply

Marsh Posté le 02-07-2004 à 16:08:45    

Masklinn a écrit :

Les apps sous GTK sont tres tres laides sous windows  


 
sous Linux le GTK 1 n'est pas un modèle de beauté non plus (à moins que ça ait été amélioré dans les dernières versions de Gnome/KDE ou je ne sais pas quoi d'autre qui pourrait avoir un lien avec ça)
 

Masklinn a écrit :


(ca ne s'integre pas du tout, ca se desintegre plutot)


 
:lol:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 02-07-2004 à 17:15:27    

Masklinn a écrit :

Les apps sous GTK sont tres tres laides sous windows (ca ne s'integre pas du tout, ca se desintegre plutot)
Et l'un des ports *nix de wxWidgets utilise GTK comme API (il y a aussi un port X11 et un Motif)


je sais pas précisemment quelle technologie est utilisée, mais gaim sous windows est très beau


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 02-07-2004 à 17:55:39    

farib a écrit :

je sais pas précisemment quelle technologie est utilisée, mais gaim sous windows est très beau


 
Il utilise des thèmes, dont un qui prend le look de Windows :
 
http://img3.exs.cx/img3/5969/gaim_install.png
 
mais à la première combobox rencontrée ça n'a déjà plus le look habituel des contrôles Windows :
 
http://img3.exs.cx/img3/5540/gaim_list.png
 
Puis c'est du GTK2, donc ça mieux.
C'est GTK1 qui était vraiment pas terrible.


Message édité par antp le 02-07-2004 à 17:56:40
Reply

Marsh Posté le 02-07-2004 à 18:07:00    

Il est vrai que GTK 2 ameliore beaucoup le probleme (mais je suis mechant) mais ca "tranche" quand meme avec les apps ayant un style windows (avec ou sans theme)

Reply

Marsh Posté le 03-07-2004 à 15:16:21    

mouais, disons que j'en suis à l'apprentissage, et je suis très convaincu du resultat et du rendu de gtk2 sous linux. ce que ça va donner sous win, que ce soit beau ou moche, je m'en tamponne un peu pour l'instant. ça sera pas la première appli moche sous windows ! et tant que c'est beau sur ma machine, sous linux, ça va.

Reply

Marsh Posté le 04-07-2004 à 13:33:21    

psychotek: ca a l'aire pas mal le tuto gtk je ne connaissais pas...


Message édité par neg'gwada le 04-07-2004 à 13:35:05

---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 06-07-2004 à 19:31:35    

oui il est vraiment bien fait, j'ai très vite appris avec ça (en une semaine). j'avais trouvé un bon tuto aussi sur Qt mais je n'arrive plus à mettre la main dessus.

Reply

Marsh Posté le 06-07-2004 à 23:52:21    

pourquoi personne n'aime le MFC ? ca a l'aire sympa pourtant [:spamafote]  (sous VC++ bien sure :whistle: )


---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 07-07-2004 à 00:00:36    

parce que la plupart des gens ont aussi essayé d'autres trucs et ont donc un point de comparaison :o

Reply

Marsh Posté le 07-07-2004 à 10:07:23    

neg'gwada a écrit :

pourquoi personne n'aime le MFC ? ca a l'aire sympa pourtant [:spamafote]  (sous VC++ bien sure :whistle: )


Comme tu l'as sous entendu c'est difficilement codable sans VC++
C'est absolument pas portable
Le code est imbitable
C'est un bordel monstrueux

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed