在使用GTK+进行GUI编程之前,必须要先安装上GTK+。下面介绍CentOS 6.0中安装GTK2.0的过程。
g_print("Hello 大家好\n");
g_print ("delete event occurred\n");
return(TRUE);
gtk_main_quit();
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);
1、打开任意一个终端,在里面输入: yum install gtk+*
,然后回车,安装过程中选择“Y”;
2、随便写个程序:
#include
< stdio.h >
#include
< gtk-2.0/gtk/gtk.h >
void hello(GtkWidget *widget,gpointer data)
{
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
{
}
void destroy(GtkWidget *widget,gpointer data)
{
}
int main( int argc, char *argv[] )
{
}
注意其中的#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键上方的按个键,或者说是带有波浪的那个键。