GTK编程基本步骤
1.初始化
gtk_init(&argc, &argv);
2.创建主窗口
创建子窗口并加入容器
GtkWidget *window;
GtkWidget *button;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
button = gtk_button_new_with_label ("Hello World");
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
gtk_container_add (GTK_CONTAINER (window), button);
3.窗口事件与回调函数的绑定
gtk_signal_connect (GTK_OBJECT (window), "delete_event", GTK_SIGNAL_FUNC (delete_event), NULL);
//把 "destroy" 事件和信号处理器联系起来
gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
当按钮被单击时,即接收到"clicked"信号,将调用 hello()函数
gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
//当按钮被单击时,调用 gtk_widget_destroy(window)关闭窗口。
//这里将引发 "destroy" 信号
gtk_signal_connect_object (GTK_OBJECT (button), "clicked", GTK_SIGNAL_FUNC (gtk_widget_destroy), GTK_OBJECT (window));
4.显示窗口
//显示按钮
gtk_widget_show (button);
//显示顶级窗口
gtk_widget_show (window);
5.进入主事件循环
gtk_main ();
6.退出主事件循环
gtk_main_quit();
也可以说包括三部分:
1. 初始化、主循环与退出
2.控件的创建、显示与布局
3.信号连接与回调函数
编译:gcc -Wall -o helloworld helloworld.c `pkg-config --cflags --libs gtk+-2.0`