|
#include <gtk/gtk.h>
void button_event(GtkWidget *,gpointer *);
int main(int argc,char *argv[ ])
{
GtkWidget *window;
GtkWidget *button;
gtk_init(&argc,&argv); /*初始化*/
window=gtk_window_new(GTK_WINDOW_TOPLEVEL); /*创建窗体*/
gtk_signal_connect(GTK_OBJECT(window),”delete_event”,G_CALLBACK(gtk_main_quit),NULL); /*登记窗体delete_event信号的回调函数*/
button=gtk_button_new_with_label(“Button”); /*创建带标号的按钮*/
gtk_signal_connect(GTK_OBJECT(button),”pressed”,GTK_SIGNAL_FUNC(button_event),”pressed”); /*登记按钮pressed信号的回调函数*/
gtk_signal_connect(GTK_OBJECT(button),”released”,GTK_SIGNAL_FUNC(button_event),”released”); /*登记按钮released信号的回调函数*/
gtk_signal_connect(GTK_OBJECT(button),”clicked”,GTK_SIGNAL_FUNC(button_event),”clicked”); /*登记按钮clicked信号的回调函数*/
gtk_signal_connect(GTK_OBJECT(button),”enter”,GTK_SIGNAL_FUNC(button_event),”enter”); /*登记按钮enter信号的回调函数*/
gtk_signal_connect(GTK_OBJECT(button),”leave”,GTK_SIGNAL_FUNC(button_event),”leave”); /*登记按钮leave信号的回调函数*/
gtk_container_add(GTK_CONTAINER(window),button); /*把按钮加入窗体*/
gtk_widget_show(button); /*显示按钮*/
gtk_widget_show(window); /*显示窗体*/
gtk_main();
return 0;
}
void button_event(GtkWidget *widget,gpointer *data) /*回调函数*/
{
g_print(“Button event:%s\n”,data);
} |