gtk_widget_add_events用来为某个构件添加一个事件。该函数用来说明哪一个构件将回接受到事件,并对事件的发生做出反应。一些事件使用时要已与特定的构件组装好了,另外的一些事件需要使用函数 gtk_widget_add_events()去组装。
gtk_widget_add_events(window,GDK_BUTTON_PRESS_MASK)//为窗口添加按钮点击事件
g_signal_connect(window, "button-press-event",G_CALLBACK(clicked), NULL);//然后可以绑定press信号到clicked函数
gboolean clicked(GtkWidget *widget, GdkEventButton *event,gpointer user_data);//在press事件里将会被调用
clicked函数里,通过event可以获取点击的坐标,event->x 和event->y。事实上,基本上所有的event都可以获取坐标,例如添加另外一个事件GDK_CONFIGURE,可以绑定"configure-event"信号,这时候event可以获取configure的坐标:event->configure.x