1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    stagiaire reseau
    Inscrit en
    mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire reseau

    Informations forums :
    Inscription : mai 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut Création d'une IHM en C sous Linux avec GTK

    Bonjour

    je suis actuellement sur un projet de création d'interface homme machine (IHM), je dois utiliser le langage C ainsi que la bibliothèque GTK sous linux , je dois essayer de le faire en modèle MCV.

    je doit créer une interface du même style :Nom : 15.jpg
Affichages : 85
Taille : 683,5 Ko

    pour le moment j'ai ceci

    Nom : 15.jpg
Affichages : 86
Taille : 349,9 Ko

    j'aimerais savoir quels sont les fonctions dans la bibliothèque gtk je peux prendre pour faire les afficheurs en noirs et comment puis je faire avec le if pour pouvoir les afficheurs si seulement le switch est on ou off.

    mon code pour if est celui ci :

    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    /* Gestionnaire de signal pour le signal "actif" du commutateur */
    static void
    activate_cb (GObject    *Switch,
                 GParamSpec *pspec,
                 gpointer    user_data)
    {
      GtkWindow *window = user_data;
     
       	GtkWidget *label1;
    	GtkWidget *label2;
    	GtkWidget *label3;
    	GtkWidget *label4;
    	GtkWidget *fixed;
     
      if (gtk_switch_get_active (GTK_SWITCH (Switch)))
     
    		instruction en mettant les differents afficheur ?? ;
      else 	
    		????
     
    }

    Merci de l'aide que vous m'apporterez.

    Bien cordialement.

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    5 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 5 674
    Points : 15 443
    Points
    15 443
    Billets dans le blog
    1

    Par défaut

    Bonjour

    Tu devrais aller sur un forum GTK pour avoir des détails concernant cette librairie. Ici, c'est plutôt un forum dédié à ceux qui ont des soucis de syntaxe C.

    Concernant ta question "comment faire avec le if" (on a l'impression que tu considères le "if" un peu comme un ingrédient magique...) ben tu l'as bien écrit. Ne te reste qu'à remplir le bloc "then" avec l'affichage de tes éléments...

    PS: c'est quand-même un peu con qu'un "stagiaire réseau" arrive dans ce type de projet qui ne lui est pas du tout adapté...
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    stagiaire reseau
    Inscrit en
    mai 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : stagiaire reseau

    Informations forums :
    Inscription : mai 2017
    Messages : 2
    Points : 1
    Points
    1

    Par défaut

    bonjour

    je suis aller voir dans la bibliothèque gtk et dans les différents tutoriel qui sont bien expliqué.

    Ce qui me bloc c'est que je ne voit pas comment faire dans else, mettre un remove ou un delete-event en suivant ceci

    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
      GtkWindow *window = user_data;
     
       	GtkWidget *label1;
    	GtkWidget *label2;
    	GtkWidget *label3;
    	GtkWidget *label4;
    	GtkWidget *fixed;
     
      if (gtk_switch_get_active (GTK_SWITCH (Switch))) 
    		label1 = gtk_label_new ("pesée(g)");
    		label2 = gtk_label_new ("Température (°c)");
    		label3 = gtk_label_new ("Erreurs capteur");
    		gtk_fixed_put(GTK_FIXED(fixed), label1,400,50);
    	gtk_fixed_put(GTK_FIXED(fixed), label2,700,50);
    	gtk_fixed_put(GTK_FIXED(fixed), label3,1000,50);
    	gtk_widget_set_size_request(label1, 100,80);
    	gtk_widget_set_size_request(label2, 100,80);
    	gtk_widget_set_size_request(label3, 100,80);
    	//afficheur 
      else 	
    		// ici de mettre un remove 
     
     
     
    }
    Ps: En effet , mais c'était surtout un stage (2 mois) afin de valider mon DUT.

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    5 674
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 5 674
    Points : 15 443
    Points
    15 443
    Billets dans le blog
    1

    Par défaut

    Citation Envoyé par kwxax17 Voir le message
    Ce qui me bloc c'est que je ne voit pas comment faire dans else, mettre un remove ou un delete-event
    Ben moi je programme en Qt et pas en Gtk mais ça doit pas être bien différent. Perso, ce que je fais, c'est que je crée tous mes affichages/boutons/case à cocher mais je valide et invalide celles qu'il faut en fonction des actions de l'utilisateur. Déjà c'est plus facile (setEnabled/setDisabled) mais surtout c'est bien plus ergonomique que de voir des trucs apparaitre et disparaitre et qui font croire à un bug...
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/06/2006, 15h45
  2. [conseil]creation d'une ihm
    Par blaise_laporte dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 20/04/2006, 11h23
  3. Formater une cassette de sauvegarde sous LINUX
    Par dragonfly dans le forum Administration système
    Réponses: 10
    Dernier message: 22/03/2006, 11h02
  4. Creer une base de donnée sous linux
    Par nissarte dans le forum Installation
    Réponses: 2
    Dernier message: 01/03/2006, 14h56
  5. Attaquer une base Oracle installée sous linux
    Par lessoy dans le forum Oracle
    Réponses: 1
    Dernier message: 13/10/2005, 13h54

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