Bonsoir,

Je reviens vers vous, car après maintes tentatives et recherches je finis par penser que je n'ai juste pas compris comment cela marchait.
Voici ma problématique :

J'ai une interface gtkmm dans laquelle je rentre des données (on ne prendra l'exemple que d'une par facilité), un nom par exemple.
j'entre mon nom dans la case dédiée, je clique sur "enregistrer", je "mets à jour" mon information avec mon set et une seconde fenêtre s'affiche et est supposée retourner mon nom.
J'ai donc écrit une fonction string Personnage::get_name(){return Name;}.
Dans un premier temps je me demande si il faut que mette le nom dans un label pour l'afficher...?

Et parallèlement comment faire..
Voici mes bouts de codes, qui donc fonctionnent pas :

creation.h
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
 
class Personnage
{
    protected :
        string Name;                            /// Nom du personnage
 
    public :
        Personnage();
        void setName(string);                        /// Recupere le choix du nom de personnage
        string getName();                        /// Renvoie le choix du nom de personnage
 
};
 
 
class affichage : public Gtk::Window
{
public:
  affichage();
  virtual ~affichage();
 
protected:
     Personnage p;
    //mes widgets 
};
 
class creation : public Gtk::Window
{
public:
  creation(Personnage &p);
  virtual ~creation();
    void on_button_clicked(Personnage &p);
 
protected:
//mes widgets
 
    affichage affichage; // pour creer la fenetre fille
};

et affichage.cpp
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
affichage::affichage()
:
FinalBox(Gtk::ORIENTATION_VERTICAL),
AffichageBox(Gtk::ORIENTATION_HORIZONTAL),
FinalFrame("Check out your character!"),
CloseFrame(),
p() // j'ai testé cela, ça compile mais ne retourne pas mon nom
{
//box et frames

    AffichageBox.pack_start(FinalFrame, Gtk::PACK_EXPAND_WIDGET, 10);
    FinalGrid.set_border_width(10);
    FinalFrame.add(FinalGrid);
    
    //les labels
    name_label.set_label("Name : "); //label du choix du  nom
    nom.set_label(p.getName()); // mon soucis se situe ici
    
    //on définit les positions dans la FinalGrid
    FinalGrid.attach(name_label, 0,0,1,1);
    FinalGrid.attach(nom, 1,0,1,1);