在使用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键上方的按个键,或者说是带有波浪的那个键。