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

GTK+ avec C & C++ Discussion :

probleme de toggle button


Sujet :

GTK+ avec C & C++

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 10
    Points
    10
    Par défaut probleme de toggle button
    salut

    je suis en train de creer une appli multi fenetre en glade et j'ai un probleme (de pointeur je pense) :
    j'ai sur ma fentre MainWindow un gtk_toggle_button nommé ToggleButton qui doit afficher/cacher une fenetre fille nommée SubWindow et pour cela j'utilise le code suivant :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    #include <stdio.h>
    #include <stdlib.h>
     
    #include <gtk/gtk.h>
    #include <glade/glade.h> 
     
     
    GladeXML *MonGlade; 
    GtkWidget *MainWindow, *SubWindow, *ToggleButton;
     
     
    void HidOrUnHide ()
    {
    	if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))=TRUE)
    	{
    		gtk_widget_show(SubWindow);
    	}
    	else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))=FALSE)
    	{
    		gtk_widget_hide(SubWindow);
    	}
    }
     
    int main(int argc,char *argv[])
    {
      gtk_init(&argc,&argv);
     
      MonGlade=glade_xml_new("MyWindows.glade",NULL,NULL);
      g_assert(MonGlade != NULL);
      glade_xml_signal_autoconnect(MonGlade);
     
      MainWindow=glade_xml_get_widget(MonGlade,"MainWindow" );
      SubWindow=glade_xml_get_widget(MonGlade,"SubWindow" );
      ToggleButton=glade_xml_get_widget(MonGlade,"ToggleButton" );
     
     g_signal_connect(G_OBJECT (SubWindow),"delete-event", G_CALLBACK(HideOrUnHide), NULL);
     
       g_signal_connect(G_OBJECT (ToggleButton),"toggled", G_CALLBACK(HideOrUnHide), NULL);
     
     gtk_widget_show_all(MainWindow);
     
      gtk_main(); 
      return EXIT_SUCCESS;
    }

    et quand je compile (dans Geany) il me dit

    "erreur: lvalue required as left operand of assignment"

    pour mes 2 lignes contenenant "gtk_toggle_button_get_active", en effet je n'arrive pas a trouver quel parametre donner à cette fonction... mais si ça se trouve c'est pas ça le pb....

    si vous pouviez m'aider car la seule doc que j'ai est la reference de GTK en anglais et c'est pas très compréhensible....


    please HELP ME !!!! ça fait deux heures que je bloque là dessus (j'ai essayé avec *, avec des **, avec &, avec && .... rien n'y fait)

  2. #2
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Lorsque tu fais un test d'égalité avec un if la syntaxe correcte est "==" et non "=".

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    merci pour cette reponse
    maintenant ca marche


    (faut m'excuser j'ai pas le niveau....)

  4. #4
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 291
    Points : 4 941
    Points
    4 941
    Billets dans le blog
    5
    Par défaut
    Pas de pb. C'est en forgeant qu'on devient forgeron

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 111
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par TheBootroo Voir le message
    salut

    je suis en train de creer une appli multi fenetre en glade et j'ai un probleme (de pointeur je pense) :
    j'ai sur ma fentre MainWindow un gtk_toggle_button nommé ToggleButton qui doit afficher/cacher une fenetre fille nommée SubWindow et pour cela j'utilise le code suivant :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
     
    #include <stdio.h>
    #include <stdlib.h>
     
    #include <gtk/gtk.h>
    #include <glade/glade.h> 
     
     
    GladeXML *MonGlade; 
    GtkWidget *MainWindow, *SubWindow, *ToggleButton;
     
     
    void HidOrUnHide ()
    {
    	if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))=TRUE)
    	{
    		gtk_widget_show(SubWindow);
    	}
    	else if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))=FALSE)
    	{
    		gtk_widget_hide(SubWindow);
    	}
    }
     
    int main(int argc,char *argv[])
    {
      gtk_init(&argc,&argv);
     
      MonGlade=glade_xml_new("MyWindows.glade",NULL,NULL);
      g_assert(MonGlade != NULL);
      glade_xml_signal_autoconnect(MonGlade);
     
      MainWindow=glade_xml_get_widget(MonGlade,"MainWindow" );
      SubWindow=glade_xml_get_widget(MonGlade,"SubWindow" );
      ToggleButton=glade_xml_get_widget(MonGlade,"ToggleButton" );
     
     g_signal_connect(G_OBJECT (SubWindow),"delete-event", G_CALLBACK(HideOrUnHide), NULL);
     
       g_signal_connect(G_OBJECT (ToggleButton),"toggled", G_CALLBACK(HideOrUnHide), NULL);
     
     gtk_widget_show_all(MainWindow);
     
      gtk_main(); 
      return EXIT_SUCCESS;
    }

    et quand je compile (dans Geany) il me dit

    "erreur: lvalue required as left operand of assignment"

    pour mes 2 lignes contenenant "gtk_toggle_button_get_active", en effet je n'arrive pas a trouver quel parametre donner à cette fonction... mais si ça se trouve c'est pas ça le pb....

    si vous pouviez m'aider car la seule doc que j'ai est la reference de GTK en anglais et c'est pas très compréhensible....


    please HELP ME !!!! ça fait deux heures que je bloque là dessus (j'ai essayé avec *, avec des **, avec &, avec && .... rien n'y fait)
    Il est aussi possible de l'ecrire de cette façon pour ne pas se tromper dans les égalités:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))
    	{
    		gtk_widget_show(SubWindow);
    }
     
    if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))
    	{
    		gtk_widget_hide(SubWindow);
    	}

    ou encore
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if ( gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(ToggleButton))
    	{
    		gtk_widget_show(SubWindow);
    }
    else {
                             gtk_widget_hide(SubWindow);
     
    }

    Cdlt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme d'affichage button
    Par jonnyboy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 30/04/2007, 17h32
  2. [W3C] Probleme avec formulaire button et submit
    Par maysa dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 22/03/2007, 15h55
  3. toggle button
    Par stgi02 dans le forum MFC
    Réponses: 2
    Dernier message: 22/02/2006, 15h23
  4. [VBA-E] Toggle button: programmation des actions
    Par micknic dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2005, 19h28
  5. Réponses: 5
    Dernier message: 08/02/2005, 20h50

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