Pages : 1
#1 Le 26/09/2005, à 22:00
- Templar
Gtkmm : problème avec les signaux !
bonjour à tous,
j'apprend en ce moment le C++, et en particuliers l'utilisation avec la lib Gtkmm.
Voici mon code :
#include <gtkmm.h>
#include <iostream>
void on_cliquer() {
std::cout << "Bonjour" << std::endl;
}
int main(int argc, char **argv)
{
Gtk::Main app(argc, argv);
Gtk::Window w;
Gtk::VBox vb;
w.add(vb);
Gtk::Label l;
vb.pack_start(l);
l.show();
Gtk::Entry e;
vb.pack_start(e);
e.show();
Gtk::Button b("Bonjour !");
b.signal_clicked().connect(sigc::mem_fun(&on_cliquer));
vb.pack_start(b);
b.show();
vb.show();
app.run(w);
return 0;
}
Et l'erreur qui m'amène à poster :
templar@templar:~/c++$ g++ ~/c++/essai.cpp -o ~/c++/simple `pkg-config gtkmm-2.4 --cflags --libs`
/home/templar/c++/essai.cpp: Dans function « int main(int, char**) »:
/home/templar/c++/essai.cpp:23: error: no matching function for call to `
mem_fun(void (*)())'
Merci d'avance
Hors ligne
#2 Le 26/09/2005, à 22:15
- rihegher
Re : Gtkmm : problème avec les signaux !
b.signal_clicked().connect(sigc::mem_fun(&on_cliquer));
Et l'erreur qui m'amène à poster :
/home/templar/c++/essai.cpp:23: error: no matching function for call to ` mem_fun(void (*)())'
pour moi c un probleme de passage de parametre, soit il attend pas le meme type, soit il en attend plusieurs, et vu l exemple "hello world!" suivant http://www.gtkmm.org/docs/gtkmm-2.4/doc … 03s06.htmlje pense qu il lui manque tout simplement un parametre,
sinon courage, le c++ c puissant mais je trouve ca un peu chaud
Dernière modification par rihegher (Le 26/09/2005, à 22:16)
Hors ligne
#3 Le 26/09/2005, à 23:43
- marcounet
Re : Gtkmm : problème avec les signaux !
Chez moi ça marche si je fais ceci :
b.signal_clicked().connect(sigc::ptr_fun(&on_cliquer));
Marcounet des Brumes
Hors ligne
#4 Le 27/09/2005, à 20:01
- Templar
Re : Gtkmm : problème avec les signaux !
Effectivement ptr_fun fonctionne =\
Merci
Hors ligne
Pages : 1