信号

像大多数 GUI 工具集一样,gtkmm事件驱动的。当一个事件发生时,比如说一个鼠标按键被按下,那么所点击的组件就会发出一个合适的信号。每种组件都可以发出一套不同的信号。为了使这个按钮点击产生一个动作,我们可以设置一个信号处理函数(signal handler)来捕捉这个“clicked”信号。

gtkmm uses the libsigc++ library to implement signals. Here is an example line of code that connects a Gtk::Button's "clicked" signal with a signal handler called "on_button_clicked":

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

要得到更多关于信号的信息,请参考附录

要想知道如何实现你自己的信号,而不仅仅是连接到现有的 gtkmm 信号,请参考 附录