在使用GTK+进行GUI编程之前,必须要先安装上GTK+。下面介绍CentOS 6.0中安装GTK2.0的过程。
1、打开任意一个终端,在里面输入: yum install gtk+*
,然后回车,安装过程中选择“Y”;
2、随便写个程序:
#include < stdio.h>
#include <gtk-2.0/gtk/gtk.h >
void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello大家好\n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointerdata)
{
g_print ("delete eventoccurred\n");
return(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);
gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
gtk_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 大家好");
gtk_signal_connect(GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello),NULL);
gtk_signal_connect_object (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);
}
注意其中的#include < gtk-2.0/gtk/gtk.h>,很多介绍gtk编程的教科书中都写成#include <gtk/gtk.h >,这是因为通过yum安装的gtk.h位于/usr/include/gtk-2.0/gtk/gtk.h这个位置,而不是/usr/include/gtk/gtk.h.所以,这一步一定要谨慎。
3、通过gcc来编译程序;
输入:gcc -o test test.c `pkg-config --clfags --libs gtk+-2.0`
,回车。
输入: ./test
,回车,就可以看到结果了。
此步骤中要注意的是:`pkg-config --clfags --libs gtk+-2.0`
中两端不是单引号,而是键盘上Tab键上方的按个键,或者说是带有波浪的那个键。