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 :

Comment faire un assistant?


Sujet :

GTK+ avec C & C++

  1. #21
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    Tu vas me prendre pour un débile, mais je n'arrive pas à caster pBuilder.
    J'ai essaye simplement comme ça : gtk_widget_show_all(pBuilder); ou comme ça: gtk_widget_show_all(GTK_BUILDER(pbuilder));

    C'est moi qui me suis mal exprimé dans ce cas

    Envoie ton fichier xml, parce que là je rame pour t'expliquer clairement ce que tu dois faire!

    edit: ou bien teste cela :
    - récupère le widget de ton conteneur construit dans le xml, avec la fonction gtk_builder_get_object(pBuilder, "<le_nom_donne_a_ton_Widget_de_base>")
    - fais un gtk_widget_show_all("<le_nom_donne_a_ton_Widget_de_base>")

    Toujours pas clair ?

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    C'est juste un de test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <object class="VerticalBox" id="pFrameVerticalBox">
       <object class="GtkButton" id="ok_button">
          <property name="label">gtk-ok</property>
          <property name="use-stock">TRUE</property>
             <signal name="clicked" handler="ok_button_clicked"/>
       </object>
    </object>

  3. #23
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Donc si je comprends bien, ca donne ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    GtkBuilder *pBuilder;
    pBuilder = gtk_builder_new();
    gtk_builder_add_from_file(GTK_BUILDER(pBuilder), "wizard1.xml", NULL);
    GtkWidget *pNew;
    pNew = gtk_builder_get_object(pBuilder, "pFrameVerticalBox");
    gtk_widget_show_all(pNew);
    Erreur pendant la compilation:
    main.c:106: attention : assignment from incompatible pointer type

    (Pas une erreur mais un avertissement, donc code incorrect?)

  4. #24
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    Donc si je comprends bien, ca donne ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    GtkBuilder *pBuilder;
    pBuilder = gtk_builder_new();
    gtk_builder_add_from_file(GTK_BUILDER(pBuilder), "wizard1.xml", NULL);
    GtkWidget *pNew;
    pNew = gtk_builder_get_object(pBuilder, "pFrameVerticalBox");
    gtk_widget_show_all(pNew);
    Erreur pendant la compilation:
    main.c:106: attention : assignment from incompatible pointer type

    (Pas une erreur mais un avertissement, donc code incorrect?)
    Oui parce que tu dois caster le retour de gtk_builder_get_object en GTK_WIDGET

    Tu devrais quand même récupérer le retour de la fonction gtk_builder_add_from_file(), cela te dirait si le chargement de ton fichier xml a réussi ou pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    GError* error = NULL;
    GtkBuilder* builder = gtk_builder_new();
     
    if(builder) {
      if(!gtk_builder_add_from_file(builder, "wizard1.xml", &error)) {
        if(error)
          printf("Builder error message : %s\n", error->message);
      } else {
        //Afficher les widgets...
      }
    }
    Juste un conseil en passant, tu devrais utiliser glade (version 3) puis utiliser gtk-builder-convert afin de générer ton fichier interprétable par GtkBuilder

  5. #25
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Si je comprends bien, c'est un code de ce genre:

    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
     
    GError* GtkBuildError = NULL;
    GtkBuilder* pBuilder = gtk_builder_new();
     
    if(pBuilder)
    {
    	if(!gtk_builder_add_from_file(pBuilder, "wizard1.xml", &GtkBuildError))
    	{
        	if(GtkBuildError)
        	{
          		printf("GtkBuilderBuilder Error Message: %s", GtkBuildError -> message);
    		}
      	}
      	else
      	{
      		GtkWidget *pOkButton;
    ligne 117:		pOkButton = gtk_builder_get_object(pBuilder, "ok_button");
    		/* Afficher le widget ... */
      	}
    }
    Malheureusement:
    main.c:117: attention : assignment from incompatible pointer

  6. #26
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    il te faudrait plutot récupérer la Box englobant tous les composants gérés par GtkBuilder, donc dans ton cas : "pFrameVerticalBox"

    La fonction gtk_builder_get_object() renvoie un GObject*, tu as défini pOkButton comme un pointeur vers GtkWidget, il faut donc que tu castes le retour de la fonction gtk_builder_get_object ou bien que tu déclares pOkButton en tant que GObject*

  7. #27
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Je n'y arrive toujours pas:
    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
     
    /* Test */
     
    GError* GtkBuildError = NULL;
    GtkBuilder* pBuilder = gtk_builder_new();
     
    if(pBuilder)
    {
    	if(!gtk_builder_add_from_file(pBuilder, "wizard1.xml", &GtkBuildError))
    	{
        	if(GtkBuildError)
        	{
          		printf("GtkBuilderBuilder Error Message: %s", GtkBuildError -> message);
          		return FALSE;
    		}
      	}
      	else
      	{
      		GObject *pFrameVerticalBoxT;
    		pFrameVerticalBoxT = gtk_builder_get_object(pBuilder, "GtkWindow");
    		/* Afficher le widget ... */
      	}
    }
     
     
    /* --- --- --- */
    Ca compile, mais n'affiche rien vu que je n'ai toujours pas trouvé comment!
    Comment je mets cette pVerticalBoxT dans mon programme?

  8. #28
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    Je n'y arrive toujours pas:
    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
     
    /* Test */
     
    GError* GtkBuildError = NULL;
    GtkBuilder* pBuilder = gtk_builder_new();
     
    if(pBuilder)
    {
    	if(!gtk_builder_add_from_file(pBuilder, "wizard1.xml", &GtkBuildError))
    	{
        	if(GtkBuildError)
        	{
          		printf("GtkBuilderBuilder Error Message: %s", GtkBuildError -> message);
          		return FALSE;
    		}
      	}
      	else
      	{
      		GObject *pFrameVerticalBoxT;
    		pFrameVerticalBoxT = gtk_builder_get_object(pBuilder, "GtkWindow");
    		/* Afficher le widget ... */
      	}
    }
     
     
    /* --- --- --- */
    Ca compile, mais n'affiche rien vu que je n'ai toujours pas trouvé comment!
    Comment je mets cette pVerticalBoxT dans mon programme?
    La fonction gtk_builder_get_object attend deux paramètres
    • le GtkBuilder
    • Le nom du widget que tu souhaites récupérer
    Dans ton xml tu as nommé cette boite "pFrameVerticalBox" (cf ton xml ci-dessous)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <object class="VerticalBox" id="pFrameVerticalBox">
       <object class="GtkButton" id="ok_button">
          <property name="label">gtk-ok</property>
          <property name="use-stock">TRUE</property>
             <signal name="clicked" handler="ok_button_clicked"/>
       </object>
    </object>
    Une fois que tu as récupéré ce widget, tu l'utilises comme un widget normal (que tu aurais "instancié" avec une fonction ( comme gtk_vbox_new() ) par exemple)

  9. #29
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    En fait je n'avais pas vu mais j'ai cette erreur:
    GtkBuilder Error Message: Elément Racine non valide : << object >>

    Avec le fichier xml donné, c'est juste quand même?

  10. #30
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Voici le résultat de la conversion d'un fichier créé par glade :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?xml version="1.0" ?><!--Generated with glade3 3.0.2 on Fri Mar 28 16:24:09 2008 by gege2061--><interface>
      <object class="GtkWindow" id="window1">
        <child>
          <object class="GtkVBox" id="vbox1">
            <child>
              <object class="GtkButton" id="button1">
                <property name="label" translatable="yes">gtk-ok</property>
                <property name="use_stock">True</property>
                <signal handler="ok_button_cliked" name="clicked"/>
              </object>
            </child>
          </object>
        </child>
      </object>
    </interface>

  11. #31
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    En fait je n'avais pas vu mais j'ai cette erreur:
    GtkBuilder Error Message: Elément Racine non valide : << object >>

    Avec le fichier xml donné, c'est juste quand même?
    et bien non! mais pour cela il va falloir que tu cherches un petit par toi-même
    Je te laisse parcourir cette page sur laquelle tu trouveras tous les éléments nécessaires à l'écriture de ton xml.
    Si ça ne te suffit pas, fais une recherche sur ce forum avec GtkBuilder comme mot-clé, tu devrais obtenir quelques résultats
    N'hésite pas à poser des questions s'il y a quelque chose que tu ne comprends pas!
    Voila bonnes recherches!

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Merci beaucoup!
    Cela marche enfin!
    Merci pour ton aide, merci beaucoup! Mon programme continue enfin à avancer!
    A bientôt pour de nouveaux problèmes!

  13. #33
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Désolé, encore un petit problème!

    Voici mes 2 fichiers source importants:

    main.c:

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    /*
     *      main.c
     *      
     *      Copyright 2008 warren <wardubmc@gmail.com>
     *      
     *      This program is free software; you can redistribute it and/or modify
     *      it under the terms of the GNU General Public License as published by
     *      the Free Software Foundation; either version 2 of the License, or
     *      (at your option) any later version.
     *      
     *      This program is distributed in the hope that it will be useful,
     *      but WITHOUT ANY WARRANTY; without even the implied warranty of
     *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     *      GNU General Public License for more details.
     *      
     *      You should have received a copy of the GNU General Public License
     *      along with this program; if not, write to the Free Software
     *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
     *      MA 02110-1301, USA.
     */
     
    #include <stdlib.h>
     
    #include <gtk/gtk.h>
    #include <glib/gi18n.h>
     
    #include "functions.h"
     
    int main(int argc, char **argv)
    {
    	/* Load gtk */
    	gtk_init(&argc, &argv);
     
    	/* Get temp directory */
    	const gchar *TmpDirectory = g_get_tmp_dir();
     
     
    	/* Show main window */
    	GtkWidget *pWindow;
    	pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    	gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);
    	gtk_window_set_default_size(GTK_WINDOW(pWindow), 800, 450);
    	gtk_window_set_title(GTK_WINDOW(pWindow), "ET Open Config Generator");
    	gtk_widget_show(pWindow);
     
    	/* Elements */
    	GError* GtkBuild = NULL;
    	GtkBuilder* pBuildWindow = gtk_builder_new();
     
    	if(pBuildWindow)
    	{
    		if(!gtk_builder_add_from_file(pBuildWindow, "MainWindowUI.xml", &GtkBuild))
    		{
    			if(GtkBuild)
        		{
          			printf("Error Message: %s", GtkBuild -> message);
    			}
      		}
     
    	GObject *pMainVerticalBox; /* OU GtkWidget?? Je ne sais pas trop! */
    	pMainVerticalBox = gtk_builder_get_object(pBuildWindow, "vbox1");
    	gtk_container_add(GTK_CONTAINER(pWindow), GTK_WIDGET(pMainVerticalBox)); /* Est-ce GTK_WIDGEt ou GTK_OBJECT ou rien ou autre chose?? Je ne sais pas! */
    	}
     
    	/* Main */
    	gtk_main();	
    	return EXIT_SUCCESS;
    }
    Et MainWindowUI.xml:

    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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
     
    <?xml version="1.0"?>
     
    <interface>
    	<object class="GtkVBox" id="vbox1">
    		<property name="visible">True</property>
     
    		<child>
    			<object class="GtkImage" id="image1">
    				<property name="visible">True</property>
    				<property name="pixbuf">../images/etocg_banner.png</property>
    			</object>
    				<packing>
    					<property name="expand">False</property>
    				</packing>
    		</child>
     
    		<child>
    			<object class="GtkHBox" id="hbox2">
    				<property name="visible">True</property>
    				<child>
    					<placeholder/>
    				</child>
     
    				<child>
    					<placeholder/>
    				</child>
    			</object>
    				<packing>
    					<property name="position">1</property>
    				</packing>
    		</child>
     
    		<child>
    			<object class="GtkProgressBar" id="progressbar1">
    				<property name="visible">True</property>
    				<property name="text" translatable="yes"/>
    			</object>
    				<packing>
    					<property name="expand">False</property>
    					<property name="position">2</property>
    				</packing>
    		</child>
     
    		<child>
    			<object class="GtkHBox" id="hbox1">
    				<property name="visible">True</property>
    				<child>
    					<object class="GtkButton" id="button1">
    						<property name="visible">True</property>
    						<property name="can_focus">True</property>
    						<property name="receives_default">True</property>
    						<property name="label" translatable="yes">gtk-save</property>
    						<property name="use_stock">True</property>
    					</object>
    				</child>
     
    				<child>
    					<object class="GtkButton" id="button2">
    						<property name="visible">True</property>
    						<property name="can_focus">True</property>
    						<property name="receives_default">True</property>
    						<property name="label" translatable="yes">gtk-go-forward</property>
    						<property name="use_stock">True</property>
    					</object>
    						<packing>
    							<property name="position">1</property>
    						</packing>
    				</child>
     
    				<child>
    					<object class="GtkButton" id="button3">
    						<property name="visible">True</property>
    						<property name="can_focus">True</property>
    						<property name="receives_default">True</property>
    						<property name="label" translatable="yes">gtk-about</property>
    						<property name="use_stock">True</property>
    					</object>
    						<packing>
    							<property name="position">2</property>
    						</packing>
    				</child>
     
    				<child>
    					<object class="GtkButton" id="button4">
    						<property name="visible">True</property>
    						<property name="can_focus">True</property>
    						<property name="receives_default">True</property>
    						<property name="label" translatable="yes">gtk-quit</property>
    						<property name="use_stock">True</property>
    					</object>
    						<packing>
    							<property name="position">3</property>
    						</packing>
    				</child>
    			</object>
    				<packing>
    					<property name="expand">False</property>
    					<property name="position">3</property>
    				</packing>
    		</child>
    	</object>
    </interface>
    J'ai aussi commenté dans le code où je ne suis pas sur...

    En fait dans le fichier xml (converti, était un fichier glade)n j'ai une vbox qui contient l'intérieur de la fenêtre du programme. Dans le fichier xml j'ai aussi crée une hbox avec 2 vbox dedans qui devront contenir le contenu d'autres fichiers xml.

    Seul petit problème, je n'arrive pas à insérer ma vbox dans la fenêtre créée manuellement. J'ai bien ma fenêtre mais vide, avec cette erreur en terminal:

    Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_WIDGET (widget)` failed

    Désolé si je vous ennuie, mais j'y étais presque!

  14. #34
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    il faut que tu récupères vbox1 dans un GtkWidget. Il y a des notions d'héritage derrière tout cela :
    un GtkWidget "hérite" de GObject, donc en simplifiant, un GtkWidget est un GObject
    mais la réciproque n'est pas forcément vraie : i.e un GObject n'est pas obligatoirement un GtkWidget!

  15. #35
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Mais pourquoi rien ne s'affiche dans le fenêtre, sachant que j'ai essayé avec les deux types?

    Et quand je fais comme ceci:
    GtkWidget *pMainVerticalBox;

    ...le premier argument devient incompatible:
    pMainVerticalBox = gtk_builder_get_object(pBuildWindow, "vbox1");

  16. #36
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    Mais pourquoi rien ne s'affiche dans le fenêtre, sachant que j'ai essayé avec les deux types?

    Et quand je fais comme ceci:
    GtkWidget *pMainVerticalBox;

    ...le premier argument devient incompatible:
    pMainVerticalBox = gtk_builder_get_object(pBuildWindow, "vbox1");
    Remplace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_widget_show(pWindow)
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gtk_widget_show_all(pWindow)
    une fois la fenêtre entièrement crée (juste avant gtk_main).

  17. #37
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Ca ne change rien, j'ai toujours l'erreur dans le terminal et l'avertissement en compilant!

  18. #38
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    Ca ne change rien, j'ai toujours l'erreur dans le terminal et l'avertissement en compilant!
    Je viens de tester, je n'ai aucun soucis (même en laissant gtk_widget_show)

  19. #39
    Membre éclairé
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    287
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 287
    Par défaut
    Citation Envoyé par elwario91 Voir le message
    Mais pourquoi rien ne s'affiche dans le fenêtre, sachant que j'ai essayé avec les deux types?

    Et quand je fais comme ceci:
    GtkWidget *pMainVerticalBox;

    ...le premier argument devient incompatible:
    pMainVerticalBox = gtk_builder_get_object(pBuildWindow, "vbox1");
    relis un petit peu les posts mis précédemment, j'ai déja dit plusieurs fois que gtk_builder_get_object renvoyait un GObject. Donc tu dois caster le retour de cette fonction avec GtkWidget si tu récupères le résultat de cette fonction dans un GtkWidget.

  20. #40
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2007
    Messages : 66
    Par défaut
    Citation Envoyé par gege2061 Voir le message
    Je viens de tester, je n'ai aucun soucis (même en laissant gtk_widget_show)
    En employant mon code et fichier xml que j'ai posté dernièrement?
    Ca compile, mais j'ai un avertissement et une erreur dans le terminal, et en plus cela affiche une fenêtre vide!

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. Comment faire les fenêtres d'assistant (wizard)
    Par bruce-willis dans le forum MFC
    Réponses: 1
    Dernier message: 09/02/2010, 09h46
  2. Comment faire un assistant précédent/suivant sur le web ?
    Par Bobsinglar dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 26/08/2009, 14h15
  3. Réponses: 8
    Dernier message: 18/09/2002, 03h20
  4. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25
  5. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41

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