Bonjour à tous !
Je code une interface graphique avec la lib : gtkmm, sous linux.
Je dispose d'une fenêtre principale comprenant plusieurs widgets, et d'une zone de travail représentée par d'autres widgets chargés ou déchargés dynamiquement selon les actions de l'utilisateur.
Voici ma classe qui dérive Gtk::Window et qui est démarrée par le Gtk::Main :
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 #include "moduleview.h" #include <gtkmm.h> class View : public Gtk::Window { protected: // mes widgets statiques ... // un widget dynamique ModuleView* p_module_view; public: View(); virtual ~View(); void setModuleView(ModuleView* p_module_view); };
La fonction setModuleView() remplis le champ p_module_view qui est censé donner à ma fenêtre parent une zone enfant représentée par un objet ModuleView (qui est une HBox et dont plusieurs autre classes dérivent) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 void View::setModuleView(ModuleView* p_module_view) { this->p_module_view = p_module_view; p_module_view->queue_draw(); }
Or voila, le problème et que quand cette fonction est appelée, les widgets contenus dans ma classe héritant de ModuleView n'apparaissent pas dans la fenêtre ! J'ai un problème de rafraichissement ...
J'ai tout essayé :
- queue_draw() sur p_module_view
- queue_draw() sur l'instance de View
- show_all_children()
Bref rien n'y fait ... Avez-vous une idée ?
Merci !
Partager