On 02/05/2012 04:59, Jamie Lahowetz wrote: > This is probably a fairly easy question but Im very new to c++ and gtkmm and am > trying to connect a signal to a glade created entry. when return is pressed the > text is grabbed from the entry and displays in the terminal... only nothing > happens. A little help would be nice as to what im doing wrong. Thank you. It looks like you're trying to retrieve a widget from Gtk::Builder and use a derived class to handle it... only that you're not hooking it all up properly, so Gtk::Builder does not know about your derived class at all. Looking at the Gtkmm documentation, it looks like Gtk::Builder::get_widget_derived() is what you want, rather than Gtk::Builder::get_widget(). > main.cpp: > #include <gtkmm.h> > #include <iostream> > #include "terminal.h" > > int main(int argc, char *argv[]) > { > // required to start application methods > Gtk::Main kit(argc, argv); > > Gtk::Window *mainwindow; Try using MainWindow *mainwindow; here.. > //Load the GtkBuilder file > Glib::RefPtr<Gtk::Builder> refBuilder = Gtk::Builder::create(); > try > { > refBuilder->add_from_file(" > hprcc.glade"); > } > catch(const Glib::FileError& ex) > { > std::cerr << "FileError: " << ex.what() << std::endl; > return 1; > } > catch(const Glib::MarkupError& ex) > { > std::cerr << "MarkupError: " << ex.what() << std::endl; > return 1; > } > catch(const Gtk::BuilderError& ex) > { > std::cerr << "BuilderError: " << ex.what() << std::endl; > return 1; > } > > // get the main window widget > refBuilder->get_widget("mainwindow", mainwindow); and get refBuilder->get_widget_derived ("mainwindow", mainwindow); > > // start the event loop > kit.run(*mainwindow); > > return 0; > } > [...] -- Kind regards, Loong Jin
Attachment:
signature.asc
Description: OpenPGP digital signature