Pages : 1
#1 Le 30/03/2006, à 13:13
- trucutu
[Résolu] Interface graphique C/C++
Bonjour
Je suis actuellement en train de développer un petit outil en C++ (sous windows, pour des raisons professionnelles), et j'étudie les possibilités d'améliorer l'interface graphique (sortir du mode DOS...). J'ai recemment découvert les API : j'ai durement galéré rien que pour afficher une boîte de dialogue avec un bouton Ok et le message "Hello World !!! " (no comment...)
Tant qu'à faire, j'aimerais aussi trouver l'équivalent Linux (éviter le mode console...), aux cas où il me prendrait l'envie de dévellopper du soft sur cet OS le soir "à la veillée". Une recherche (trop?!) rapide m'a orienté vers Xwindow, mais c'a l'air d'être une usine à gaz (librairies Xlib, Xt, Xm?..).
Bref, des retours d'expérience dans le domaine (accompagnés pourquoi pas d'exemples ou de tutos), et/ou dans d'autres langages (est ce plus simple en java par ex?, comment sont développés les programmes d'Ubuntu (les plus simples, évidemment) vis a vis de ce problème...) seraient les bienvenus
Merci d'avance
Dernière modification par trucutu (Le 04/04/2006, à 08:14)
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#2 Le 30/03/2006, à 13:34
- m+rh-e
Re : [Résolu] Interface graphique C/C++
pour le c++, il y a 3 api: GTKmm, Qt et wxWidget, les 3 sont multiplatformes (gnome, kde, windows...)
http://www.gtkmm.org/docs/gtkmm-2.4/docs/
http://doc.trolltech.com/3.3/
http://www.wxwidgets.org/
Dernière modification par m+rh-e (Le 30/03/2006, à 13:35)
Hors ligne
#3 Le 30/03/2006, à 15:38
- trucutu
Re : [Résolu] Interface graphique C/C++
Et GTK+, ce n'est que pour le C ?
Merci pour ta réponse, cela m'a bien ré-orienté
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#4 Le 30/03/2006, à 15:49
- zeugme
Re : [Résolu] Interface graphique C/C++
Oui, c'est plus simple en Java et en plus, c'est portable.
Si tu as des questions plus precise, n'hesite pas.
Hors ligne
#5 Le 30/03/2006, à 16:58
- m+rh-e
Re : [Résolu] Interface graphique C/C++
GTKmm est un binding C++ de GTK+
En fait, la simplicité dépend de ta maitrise des langages en question et des concepts graphiques, pour ma part, je suis un grand fan de GTKmm, elle intègre bien la STL.
Dernière modification par m+rh-e (Le 30/03/2006, à 17:03)
Hors ligne
#6 Le 30/03/2006, à 17:23
- zeugme
Re : [Résolu] Interface graphique C/C++
Sans vouloir troller, la simplicite peut aussi se mesurer aux nombres de lignes.
C'est tres objectif.
Cela dit, la simplicite n'est pas le seul critere de choix d'un langage.
Hors ligne
#7 Le 30/03/2006, à 21:14
- lost-in-the-shell
Re : [Résolu] Interface graphique C/C++
La librairie wxWidgets a l'avantage de générer des fenêtres quel que soit l'OS, le code source est le même Je compte l'utiliser quand j'aurai besoin de coder en C
Linux user #401253 - Ubuntu user #3023 .
Nick sur IRC : naji.
Pensez à adhérer au Comité de lutte contre le SMS.
Hors ligne
#8 Le 31/03/2006, à 08:11
- trucutu
Re : [Résolu] Interface graphique C/C++
jbb-> si tu veux une question plus précise, en voilà une petite: en quoi c'est plus simple en Java ? Mais bon, je trouverai des éléments de réponse par moi même
En tous cas merci de m'avoir éclairé sur GTKmm (je me suis rendu compte après mon post de la différence avec GTK+) et wxWidgets, je vais essayer de m'y mettre
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#9 Le 31/03/2006, à 10:13
- zeugme
Re : [Résolu] Interface graphique C/C++
Simple, pas simple, mieux, pas mieux, voila typiquement le genre de truc tres difficile a transmettre ou decrire sans declencher des discussions sans fin, le mieux c'est que tu te fasse une idee par toi meme.
Il y a fort longtemps, c'est ce que j'avais fait : une GUI en X et une autre en AWT. Il n'y avait rien d'autre a l'epoque dans les "deux camps".
Bien sur tout est encore plus simple, mieux, puissant aujourd'hui !
La seule solution me semble que tu te fixe une GUI simple et que tu la code dans les deux langages.
Sinon, une autre chose a faire est de bien identifier tes besoins et de chercher une adequation. Chaque langage a des specificites, en d'autre termes, des avantages et des inconvenients.
Enfin et c'est parfois ce qui occupe tout le terrain de la discussion, il y a des preferences subjectives.
La rapidite est un faux probleme, ton algo, la facon de coder aura plus d'impact, surtout au debut, sur les perf que le choix du langage. Les machine virtuelles (java ou pas) on fait de tels progres que la rapidite n'est decidement pas, a mon avis, un argument general.
Quant a la "puissance" semantique, je dirais que LISP est le meilleur choix. Ce langage contient le meilleur de tout ce qui se fait : compile et/ou interprete, Objet et/ou pas objet, dynamique et/ou statique, type fort et/ou pas type fort, natif et/ou pas natif, le tout au choix du developpeur et melangeable dans un meme programme.
Le seul et enorme probleme : c'est une niche. Ce langage est trop puissant et decourage par sa syntaxe pretenduement difficile, enfin les cours de LISP sont souvent tres mal fait et utilisent de vieux LISP poussiereux alors qu'on peut faire des IHM moderne en LISP.
Et puis il n'y a pas d'outils resolument moderne : un Eclipse pour LISP par exemple.
Quant a la simplicite, un autre argument me vient a l'esprit et il est tres important, peut etre le plus important : ce qui est tres simple, c'est ce que l'on connais deja. Ce que l'on ne connais pas est tres complique. C'est une mesure de l'energie a depenser pour apprendre.
Donc, si tu connais deja le C/C++, ca sera plus simple pour toi.
Dernière modification par jbb (Le 31/03/2006, à 10:15)
Hors ligne
#10 Le 31/03/2006, à 12:19
- trucutu
Re : [Résolu] Interface graphique C/C++
Ouh là...
J'aurais préféré savoir en quoi c'est plus simple "en pratique", parce que là, ca devient vraiment compliqué.
Pour l'instant, tout ce que j'ai réussi à faire, c'est ouvrir une simple boîte de dialogue crée à partir de 2 IDE windows (Borland et Visual C++.... ok, je jure que je vais le tenter sur Dev-cpp). Un fichier de ressource permet de gérer le graphisme de la fenètre (taille, insersion des boutons...) et il faut rajouter des fonctions bizarres (lire inhabituelles) dans les sources pour gérer les évènements.
Bon, jusque là, pas trop de problème.
Alors, la notion de simplicité, pour moi, c'est plutôt de savoir s'il y a moyen de faire de même sous Ubuntu ou est-ce qu'il faut par exemple tout se coder à la main façon HTML, Latex en ce qui concerne le graphisme.
Est-ce qu'il y a des langages qui se prètent plus facilement à ce genre d'exercices en termes de syntaxe ou est-ce que c'est la galère partout.
Après, j'en suis pas encore à me demander comment je vais exporter mes programmes sous plusieurs OS, vu que j'ai déjà relevé un problème pour executer ma petite fenètre sur des PC différents (même OS, mais version différentes)
Voilà, c'est sûr que s'il existe des codes (librairies) qui peuvent fonctionner indifférement (ou avec le minimum de modifs) sur plusieurs OS, mieux vaut apprendre cela directement
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#11 Le 31/03/2006, à 12:30
- Aelor
Re : [Résolu] Interface graphique C/C++
Glade pour construire des interfaces en GTK. Rien de mieux !
Allez je vais prendre un screen pour l'exemple :
http://plainsofpain.free.fr/img/ubuntu/prog_rubyglade.png
Tain c'est bien parce que je vous aime
Ex Roane.
Ruby, le langage qui tue : http://rubyfr.org
Hors ligne
#12 Le 31/03/2006, à 12:35
- zeugme
Re : [Résolu] Interface graphique C/C++
SwingML ou mieux : XUL en Java bien sur !
Rien de plus simple pour faire une IHM.
Un lien ? Ok, un lien.
http://thinlet.sourceforge.net/home.html
L'idee est de decrire en XML des IHM. Le standard XML est XUL.
Naturellement, Firefox interprete XUL nativement.
Ah oui, un editeur XUL ecrit en XUL
http://thing.sourceforge.net/
mais bon, ces editeurs graphiques, je ne toruve pas ca tres utile.
Ici, tu as un bon exemple rapide pour te rendre compte de ce que simple veut dire
http://thinlet.sourceforge.net/calculator.html
Moins de 30 lignes de code.
Et enfin : ce programme n'aura meme pas besoin d'etre recompile pour tourner a peu pres partout, donc ubuntu et windows sans le moindre probleme.
Dernière modification par jbb (Le 31/03/2006, à 12:57)
Hors ligne
#13 Le 31/03/2006, à 15:35
- trucutu
Re : [Résolu] Interface graphique C/C++
Merci, ca redevient plus clair
Même si, après de multiple recherche sur le forum, la diversité des solutions est déroutante. Ce we, je vais tenter l'installation de Glade (par compilation manuelle a partir des sources du site, car pas internet (=>pas Synaptic) et la flemme de telecharger tous les paquets... bref en freeride) . Si ca marche pas, je tenterais sûrement GTK+ sous Dev-cpp avec un tuto de 161 p. Et si ca ne vas pas non plus, je passerai aux wxWidget avec le Book de 700p in English... De quoi m'occuper pour un petit moment
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#14 Le 11/04/2006, à 12:40
- trucutu
Re : [Résolu] Interface graphique C/C++
Ca y est, j'ai réalisé ma première appli wxWidgets !!
Une fenètre qui permet de résoudre les racines du second degré, où l'utilisateur entre les 3 coeff de l'équation.
Là où il faut 1 ou 2h en console, ca m'a pris 1 journée 1/2 à temps plein ! vive la simplicité
Bon maintenant, "Comment qu'on fait pour le donner à la communauté ?" (on ne sait jamais, cela pourrait intéresser des 1°, Term S...) (faire un .deb ?, partager les sources ?...). Non je plaisante, il y a bien assez de docs et de topics pour répondre à ce genre de questions
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#15 Le 11/04/2006, à 12:47
- Soulfly_tribe90
Re : [Résolu] Interface graphique C/C++
Ca y est, j'ai réalisé ma première appli wxWidgets !!
Une fenètre qui permet de résoudre les racines du second degré, où l'utilisateur entre les 3 coeff de l'équation.Là où il faut 1 ou 2h en console, ca m'a pris 1 journée 1/2 à temps plein ! vive la simplicité
Bon maintenant, "Comment qu'on fait pour le donner à la communauté ?" (on ne sait jamais, cela pourrait intéresser des 1°, Term S...) (faire un .deb ?, partager les sources ?...). Non je plaisante, il y a bien assez de docs et de topics pour répondre à ce genre de questions
Ola deja 1 ou 2h pour faire ca en console c'est deja bcp
Sinon en projet je dois faire un espece de talk multiutilisateur en mode console... Il est deja fini et me reste legerement 4 semaines avant de le rendre donc pourquoi pas faire une interface graphique
Donc je vais essayer avec tous les elements qui sont donnés ici et on verra bien
Merki bien
Hors ligne
#16 Le 11/04/2006, à 13:23
- aleph
Re : [Résolu] Interface graphique C/C++
Par curiosité. Quelle version de wxWidgets ?
#17 Le 11/04/2006, à 16:30
- trucutu
Re : [Résolu] Interface graphique C/C++
Version 2.6.2, il me semble
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#18 Le 11/04/2006, à 20:37
- aleph
Re : [Résolu] Interface graphique C/C++
@ trucutu
Merci.
Petit cadeau, ton application en Python:
# -*- coding: iso-8859-1 -*-
# equ.py, usage: $python equ.py 1 2 3
import sys
import cmath
def main():
a, b, c = float(sys.argv[1]), float(sys.argv[2]), float(sys.argv[3])
sqrtdelta = cmath.sqrt(b * b - 4 * a * c)
twoa = 2 * a
x1 = (- b + sqrtdelta) / twoa
x2 = (- b - sqrtdelta) / twoa
print 'x1 =', x1, 'x2 =', x2
if __name__ == '__main__':
main()
#eof
#19 Le 12/04/2006, à 08:24
- trucutu
Re : [Résolu] Interface graphique C/C++
et niveau interface graphique, ca donne quoi ?
Ou est-ce que tu défini les boutons ("lancer calcul", "quitter application")? les boîtes de textes où l'utilisateur entre les paramètres? comment vérifie tu qu'il a bien entré un nombre et pas du texte? Que ce passe t'il le cas échéant?
Tout ton code fait tout ça ???
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#20 Le 12/04/2006, à 09:51
- aleph
Re : [Résolu] Interface graphique C/C++
@ trucutu
Non, c'est une version en mode console que j'ai écrite en 5 minutes. Si au moins tu avais essayé d'éxécuter le script !
#21 Le 12/04/2006, à 10:13
- trucutu
Re : [Résolu] Interface graphique C/C++
C'est bien ce qui me semblait.
L'algo, ca fait un moment que je l'ai. Si c'est pour faire du mode console, que se soit en Pyhton, C/C++ ou plus pratique : Casio (graphique 30, si ca existe encore..., mes premiers programmes...snif), ca change pas grand chose (hormis la syntaxe).
Non, l'intérêt était ici de faire une appli graphique simple ( une fenêtre, deux boutons, trois nombres à entrer, et trois nombres (réels ou complexe, Python gère les complexes?) à générer (les solutions et le déterminant).
C'est mon "Hello World" en quelque sorte...
Maintenant, j'ai tout un programme en mode console, que je vais devoir transposer en mode graphique, et là ça ne va pas être de la tarte..
Merci quand même pour le cadeau. Si je me mets un jour au Python, j'aurai au moins un exemple de base
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#22 Le 21/07/2006, à 20:50
- trucutu
Re : [Résolu] Interface graphique C/C++
Aleph > Ca y est, j'ai enfin executé ton script. Genre 3 mois après ... sans commentaires !
Effectivement, ça a l'air puissant. J'ai récupérer un peu de doc. Je vais voir comment ça peut se porter avec une API (et tout d'abord comprendre la syntaxe du script ). Si l'essai est concluant, il y a de fortes chances que je devienne un partisant de Python.
Parce que les wxWidgets en C++, ne m'en parlez plus trop !! non, je plaisante. C'est sympa, mais dès qu'on veut faire des choses très spécifique (genre process / threads ), il faut bien chercher dans la doc ou dans les forums (in English), et les posts sont peu compréhensibles (déjà que sur ce forum en français, ça frole le charabia pour un newbie...)
La chanson du dimanche - "La pêche !"
PC acheté chez Novatux : entièrement satisfait.
Faire des recherches solidaires !
Hors ligne
#23 Le 24/07/2006, à 22:41
- FiFouille
Re : [Résolu] Interface graphique C/C++
bah
python, ruby, perl, toussa
y'a des bindings gtk de partout, et des tutoriaux complets sur le sujet
sans compter la doc qui est en général on ne peut plus complète (sauf peut être pour ruby-gtk )
Hors ligne