C - Code::Blocks : Créer application graphique

Bonjour à tous,

je suis un ancien programmeur,
J’avais développé des applications il y a quelques années en VB.NET
Principalement .NET (asp, sql, etc…) la ça m’intéresse de me remettre dedans et plus particulièrement au C, je viens d’entamer le C de Mathieu Nebra. En effet Microsoft nous prémâche de boulot, peut-être même de trop…

C’est vraiment intéressant et le fait que j’étais programmeur avant m’aide, je passe les pages très rapidement.

Je souhaiterai savoir quel type de projet doit-on créer pour une interface graphique ???
Je veux dire dans VB.net comme toutes les languages .NET on a juste a faire un glisser pour créer des items : un bouton, checkbox, textbox, etc…
Après à nous de rédiger les events par le code. Ne ne me dites pas que ce n’est pas possible et que l’on doit réinventer la roue ???
Si vous êtes programmeur et connaissez .NET, avec tous projet que nous propose code::blocks, vous comprenez que je suis larguer.

Non car la console j’y ai pris goût avec Linux mais des applications graphique sont tout de même plus sympa.

Bonjour,

Est-ce que le paquet codeblocks-contrib qui est suggéré par le paquet codeblocks apporte le nécessaire ?

Merci de ta réponse
donc j’ai installé ce paquet, j’ai fait un test avec GTK+ j’ai donc un HelloWorld en fenêtre, ok
je m’arrête ici pour l’instant et continu le livre.

Ma dernière question si je comprends bien :
dans la catégorie GUI il y a : FLTK, GTK+, QT4, wxWidgets project. Donc tous ont pour but de créer une application fenêtre, ok ? Mais quelles sont les différences entre tous ? Y’a t’il un “standard” ?? un que tu me conseillerais plus que d’autres ?

Et il n’y a vraiment pas de glisser coller pour creer des items ?? tout se fait via le code ?

Beaucoup de questions, une seule réponse

WxSmith tutorial: Hello world - CodeBlocks

Le fait d’ajouter le paquet codeblocks-contrib fait passer de IDE à RAD, en principe.

1 J'aime

Ça à l’air de coller parfaitement avec ce que je recherche. Je suis entrain de l’installer. Je verrai ça demain ma connection est vraiment merdique…
C’est moi ou ils ont l’air de dire que c’est pour du C++ et non du C ?

Je rappel que j’apprends le C et je vois que je peux rajouter des fichiers C/C++ donc les langages ne se gène pas alors ? Je peux rédiger du code C dans un editeur C++ no ?

L’outil graphique s’appuie sur wxWidgets qui est, en effet, en C++

Ok donc entre GTK, wxWidgets et Qt avec mon C je n’ai pas le choix => GTK.

Je vais commencer avec GTK même si la création du graphique se fait par le code, ce qui m’impressionne un peu. Après quand j’ai débuté en prog ça m’impressionnai au début, après ce n’est que des habitudes et routines. Je passerai au C++ certainement par la suite.

Merci pour ton aide

Effectivement, le choix de language peut conditionner le choix de la librairie graphique que tu utilises.

Quelques précisions:

  • Qt5 existe depuis un petit moment.
  • En général les librairies graphiques possèdent des “bindings” permettant de les utiliser depuis d’autres languages plus “hauts niveaux” (ds le sens niveau d’abstraction) comme Python, Go, etc …
  • Il n’y a pas de standard au niveau librairie graphique. Comme dans le logiciel libre en général, les solutions sont multiples mais aucunes n’est parfaites.
  • GTK+ est aujourd’hui géré par l’équipe Gnome. Je ne suis pas fan de ce qui se passe chez Gnome et donc, je redoute le pire pour l’avenir de GTK+.

Si tu tiens à programmer en C, oui GTK+ est l’option principale à considérer (avec fltk éventuellement). Il y a aussi nuklear que je n’ai jamais testé mais qui peut être intéressante un jour.
Avec les bindings, tu peux créer le coeur de ton appli en C et la partie graphique dans un autre language au choix. J’avais un truc en C/C++/Qt abandonné parce que je comprends rien au C++. Il faudra que je teste C/Python3/Qt5 dès que je saurai comment appeler des fonctions C depuis Python.
Il y a des outils graphiques qui te permettent de construire ton interface en placant les éléments où tu veux, puis de connecter les signaux etc … Ça semble pratique au début mais j’ai jamais réussi à faire exactement ce que je voulais et finalement, j’étais plus efficace en codant tout à la main. Pour GTK+ il y a (avait?) Ajunta et Glade; pour FLTK c’est Fluid; et pour Qt c’est Qt Designer.

D’une manière générale, Qt est plus complet au niveau doc, outils, processus, framework. Mais c’est moins souple, tu es obligé (ils sont en train de regler ça) d’utiliser leur surcouche à C++: La macro QOBJECT, les mocs, les makefiles imcompréhensibles, qmake.

Bref tout ça pour dire que si tu veux faire un truc graphique en C, utilise GTK. Ne t’embetes pas avec glade ou ajounta sauf peut être pour prototyper ton interface.