Bonjour,
je suis en train d'écrire un logiciel en GTK, j'ai le "cœur" en C (pour le moment tout se lance avec les **argv), et et la partie GTK à part.
C'est la première fois que je développe un truc avec une partie graphique, et je ne sais pas trop comment fusionner les deux. En mélangeant tout ça devient vide assez bordélique, et je doute qu'il s'agisse de la bonne manière de faire.
Pourriez vous m'aider ?
Je suis aussi en train de chercher des sites expliquant comment bien structurer un projet, mais je trouve pas grand chose.
Je n'ai pas vraiment de raison pour avoir choisi GTK, pensez vous que Qt soit plus abordable pour un programme en C ?
Merci pour vos réponses.
# Modèle-Vue-Controleur
Posté par Ph Husson (site web personnel) . Évalué à 6.
En principe c'est pour de l'objet, mais ça s'applique aussi à du GTK+.
Le principe est d'avoir un objet modèle, qui se contrefout de l'interface (ce que tu as déjà fait donc), un objet vue, qui contient en gros la liste des widgets (en fait c'est pas forcement un objet en C, cf glade/libglade), et enfin un contrôleur qui relie les deux.
[^] # Re: Modèle-Vue-Controleur
Posté par Lutin . Évalué à 1.
Quand du dit un objet vue et un objet modèle, c'est un faisant des gros struct ?
Pour le contrôleur, si j'ai bien compris, ils s'agit du main.
[^] # Re: Modèle-Vue-Controleur
Posté par Ph Husson (site web personnel) . Évalué à 3.
Mais le principe c'est juste d'avoir d'un côté le code utile (qui se contrefout de l'interface), de l'autre l'interface (qui se fout du code utile, 'fin faut quand meme pouvoir representer ce qu'on veut, mais c'est tout), et après un truc qui relie tout ça.
Après dans un main ou pas en fonction de si on est crade ou pas.
Mais cherche des exemples d'utilisation de libglade, je pense que ça correspondrait pas mal à ce principe.
[^] # Re: Modèle-Vue-Controleur
Posté par Lutin . Évalué à 1.
Bon j'ai plus qu'à me lancer.
Merci pour tes conseils.
[^] # Re: Modèle-Vue-Controleur
Posté par Ph Husson (site web personnel) . Évalué à 2.
C'est pas pour rien, c'est parce que ça fait vraiment partie du M/V/C:
La vue est défini dans un .xml, et sera un objet (bon à la mode GLib hein.) à part entière,
ce qui est à peu près la méthode la plus propre de faire.
[^] # L'usage de libglade est déconseillé
Posté par Jean Bréfort (site web personnel) . Évalué à 4.
Glade peut être utilisé pour créer les fichiers d'interface, même si tout n'est pas supporté.
[^] # Re: L'usage de libglade est déconseillé
Posté par Lutin . Évalué à 1.
[^] # Re: Modèle-Vue-Controleur
Posté par ǝpɐןƃu∀ nǝıɥʇʇɐW-ǝɹɹǝıԀ (site web personnel) . Évalué à 1.
Je peux bien entendu me tromper, mais je crois qu'il est peut-être plus simple d'apprendre les éléments de C++ nécessaires à faire du Gtkmm et Gtkmm, que d'apprendre à manier Gtk.
« IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace
[^] # Re: Modèle-Vue-Controleur
Posté par Lutin . Évalué à 2.
# Mélanger
Posté par liberforce (site web personnel) . Évalué à 4.
Pour ce qui est de GTK+, il faut juste que tu sépares le fond de la forme. C'est à dire que tes données doivent être stockées dans les structures de ton programme non-graphique existant, et ta partie graphique doit juste permettre d'y écrire et lire les infos. Tout le comportement fonctionnel doit être en dehors du code dédié à l'interface graphique.
En gros, il faut dissocier le fond (ton coeur en C) et la forme (ton interface GTK+).
Tu as aussi un forum assez actif ici où tu peux poser des questions:
http://www.developpez.net/forums/f336/general-developpement/(...)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.