Signaler

gtkmm, like most GUI toolkits, is event-driven. When an event occurs, such as the press of a mouse button, the appropriate signal will be emitted by the Widget that was pressed. Each Widget has a different set of signals that it can emit. To make a button click result in an action, we set up a signal handler to catch the button's "clicked" signal.

gtkmm använder libsigc++-biblioteket för att implementera signaler. Här är en exempelrad kod som ansluter ”clicked”-signalen för en Gtk::Button med en signalhanterare som heter ”on_button_clicked”:

m_button1.signal_clicked().connect( sigc::mem_fun(*this,
  &HelloWorld::on_button_clicked) );

Se bilagan för mer detaljerad information om signaler.

För mer information om att implementera dina egna signaler snarare än att bara ansluta till de befintliga gtkmm-signalerna, se bilagan.