IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Interface graphique en C


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 754
    Points : 376
    Points
    376
    Par défaut Interface graphique en C
    Bonjour, j'aimerais débuter la programmation de fenêtres en C.

    J'ai eu l’occasion d’utiliser Ncurses cette année; mais il ne s'agit pas vraiment d'une interface graphique, c'ets plutôt du terminal déguisé


    Du coup cet été je voulais me familiariser ou tout du moins essayer de me familiariser avec une bibliothèque graphique du C.


    Après plusieurs jours de recherche j'en suis venu à la conclusion que les deux interfaces le plus intéressantes et gratuites pour le C sont la SDL et GTK.



    J'aurais besoin de votre aide pour faire un choix, car je ne pourrais assurément pas m'essayer au deux.
    Je cherche surtout un interface permettant de créer des fenêtre faisant ressembler le programme à un logiciel. (A priori ce serait plutôt GTK); SDL étant plus axé sur de le design jeux en 2D.

    Cela dit, j'ai lu que SDL était une bibliothèque bas niveau, donc en théorie ce serait plus rapide sauf erreur de ma part et surtout plus simple d'utilisation que GTK.





    Du coup, est ce que en utilisant SDL on peut quand même arriver à faire des interfaces de types menus logiciel aussi facilement qu'avec GTk ?
    Et inversement est ce que si je choisis GTK pour son coté logiciel, je pourrais tout de même réaliser quelque chose s'approchant d'un jeux 2D (par exemple un jeux sur plateau).



    Pour mettre en application cela je voudrais réaliser une simulation d'un jeu de Go (donc sur plateau); mais cette fois je veux sortir du simple traçage de trait dans la console avec des I et des ___ si vous voyez de quoi je veux parler^^

    Que me conseillez vous ?

    Je précise que j'ai plutôt l'habitude de programmer sur Linux ubuntu au cas où le choix de l'interface ait un rapport avec le SE.


    Merci !

  2. #2
    Expert éminent sénior

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 189
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 189
    Points : 17 141
    Points
    17 141
    Par défaut
    gtk est utilisée par de nombreuses applications: gedit, par exemple.

    SDL est plus bas niveau dans le sens qu'elle propose le dessin de rectangles, alors que gtk propose des concepts plus évolués, comme des boutons.

    Pour les jeux, en général, on conseille les bibliothèques à primitives.
    En C, SDL est adapté à cela.

    Mais avant même de t'attaquer à un jeu graphique, commence par des programmes console.
    il y a les classiques jeux de mots (pendu, anagramme...)

    Essaie aussi de reproduire cat, grep, ou encore une sous-partie de sed.
    sort peut être intéressant aussi.

    Puis une calculatrice.


    De nombreux jeux du dépot ubuntu (main ou universe) sont basé sur gtk, regarde dans leurs dépendances pour vérifier, puis utilise apt-source pour obtenir les sources du programme. Ca sera un point de départ comme un autre.
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • jamais signifie "sauf si j'ai passé trois jours à prouver que je peux".
    • La plus sotte des questions est celle qu'on ne pose pas.
    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Je déconseille Gtk pour 1) sa documentation 2) ses dépendances (à moins que tu fasses une interface ultra simple)

    Sinon il y a ... win32 - Windows API

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Du coup, je conseille Agar : http://jeux.developpez.com/telecharg...l/id/4039/Agar qui utilise la SDL
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Points : 12 462
    Points
    12 462
    Par défaut
    Citation Envoyé par foetus Voir le message
    Je déconseille Gtk pour 1) sa documentation 2) ses dépendances (à moins que tu fasses une interface ultra simple)

    Sinon il y a ... win32 - Windows API
    GTK+ est très bien comme bibliothèque surtout si tu développes soit, sur Linux ou, tu veux créer des application avec des GUI's et portables en plus. Peut-être que sa documentation n'est pas terrible mais il y a pire et en plus, on peut aussi utiliser Glade 3 pour créer les interfaces via des fichiers XML tout en restant dans le principe d'un RAD, voir mon tutoriel qui date un peu certes mais donne les bases qui restent encore d'actualité je pense.
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/03/2004, 18h29
  2. interface graphique utilisateur, que faut-il utiliser?
    Par Missvan dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 01/03/2004, 12h18
  3. Application multiplateforme avec interface graphique
    Par TNorth dans le forum Choisir un environnement de développement
    Réponses: 2
    Dernier message: 31/01/2004, 18h55
  4. [Kylix] Interface graphique pour lognes de commande linux
    Par lecharcutierdelinux dans le forum EDI
    Réponses: 6
    Dernier message: 29/08/2003, 10h20
  5. plugin interface graphique
    Par jocelyn dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 13/08/2003, 09h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo