/*HelloWorld程序*/
#include <gtk/gtk.h>
/*回调函数*/
void
hello( GtkWidget *widget, gpointer data )
{
g_print(
"Hello World\n"
);
}
/*回调函数--关闭按钮事件处理*/
gint delete_event( GtkWidget *widget, GdkEvent *
event
, gpointer data )
{
g_print (
"delete event occurred\n"
);
return
(TRUE);
/*返回TRUE表示不关闭窗口*/
}
/*回调函数*/
void
destroy( GtkWidget *widget, gpointer data )
{
gtk_main_quit();
}
int
main(
int
argc,
char
*argv[] )
{
GtkWidget *window;
GtkWidget *button;
gtk_init(&argc, &argv);
/*初始设置*/
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (GTK_OBJECT (window),
"delete_event"
,
GTK_SIGNAL_FUNC (delete_event), NULL);
/*连接信号与回调函数*/
g_signal_connect(GTK_OBJECT (window),
"destroy"
,
GTK_SIGNAL_FUNC (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
/*容器"边距"*/
button = gtk_button_new_with_label(
"Hello World"
);
/*创建一个带标签的按钮*/
/*hello按扭单击处理*/
g_signal_connect(GTK_OBJECT (button),
"clicked"
,GTK_SIGNAL_FUNC(hello), NULL);
g_signal_connect_swapped(GTK_OBJECT(button),
"clicked"
,
GTK_SIGNAL_FUNC(gtk_widget_destroy),GTK_OBJECT(window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window);
gtk_main ();
/*主循环*/
return
0;
}
本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/123236,如需转载请自行联系原作者