pkg-config --libs --cflags gtk+-2.0
pkg-config --version //查看pkg-config的版本号
pkg-config --modversion gtk+//查看gtk1.0的版本号
pkg-config --modversion gtk+-2.0//查看gtk2.0的版本号
#include <gtk/gtk.h> 包含了Gtk+编程中所有需要的头文件,也包含gdk.h和glib.h等如果要用到Gnome的构件和库函数,包含gnome.h就可以了
gtk_init(&argc,&argv)
调用gtk_init(gint *argc,gchar ***argv)
为我们设置一些缺省值,例如视觉和颜色映射,然后调用gdk_init(gint *argc,gchar ***argv),这个函数将函数库初始化,设置缺省的信号处理函数,并检查通过命令行传递给应用程序的参数。
主要就爱你查下面所列的一些值
--gtk-module
--g-fata1-warnings
--gtk-debug
--gtk-no-debug
--gdk-debug
--gdk-no-debug
--display
--sync
--no-xshm
--name
--class
它从变量表中删除以上参数,并分离出所有不识别的值,应用程序可以分析或忽略这些值,由此声称一些Gtk应用程序可以接受的标准参数。
下面两行将创建和显示一个窗口:
window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
GTK_WINDOW_TOPLEVEL参数指明让窗口使用“窗口管理程序”指定的状态设置和位置布置
gtk_main();
是每个Gtk应用程序都要调用的函数,当程序运行到这里时,Gtk将进入等待状态,等候X事件、timeout或文件输入\输出发生
#include
<
gtk
/
gtk.h
>
包含了Gtk+编程中所有需要的头文件,也包含gdk.h和glib.h等
如果要用到Gnome的构件和库函数,包含gnome.h就可以了
gtk_init(
&
argc,
&
argv)
调用gtk_init(gint
*
argc,gchar
***
argv)
为我们设置一些缺省值,例如视觉和颜色映射,然后调用gdk_init(gint
*
argc,gchar
***
argv),这个函数将函数库初始化,设置缺省的信号处理函数,并检查通过命令行传递给应用程序的参数。
主要就爱你查下面所列的一些值
--
gtk
-
module
--
g
-
fata1
-
warnings
--
gtk
-
debug
--
gtk
-
no
-
debug
--
gdk
-
debug
--
gdk
-
no
-
debug
--
display
--
sync
--
no
-
xshm
--
name
--
class
它从变量表中删除以上参数,并分离出所有不识别的值,应用程序可以分析或忽略这些值,由此声称一些Gtk应用程序可以接受的标准参数。
下面两行将创建和显示一个窗口:
window
=
gtk_window_new(GTK_WINDOW_TOPLEVEL);
gtk_widget_show(window);
GTK_WINDOW_TOPLEVEL参数指明让窗口使用“窗口管理程序”指定的状态设置和位置布置
gtk_main();
是每个Gtk应用程序都要调用的函数,当程序运行到这里时,Gtk将进入等待状态,等候X事件、timeout或文件输入\输出发生
/*
helloword.c
*/
#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 occurrend\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);
g_signal_connect(G_OBJECT(window),
"
delete_event
"
,G_CALLBACK(delete_event),NULL);
g_signal_connect(G_OBJECT(window),
"
destory
"
,G_CALLBACK(destroy),NULL);
gtk_container_set_border_width(GTK_CONTAINER(window),
10
);
button
=
gtk_button_new_with_label(
"
Hello world
"
);g_signal_connect_swapped(G_OBJECT(button),
"
clicked
"
,G_CALLBACK(hello),NULL);
g_signal_connect(G_OBJECT(button),
"
clicked
"
,G_CALLBACK(hello),NULL);
g_signal_connect_swapped(GTK_OBJECT(button),
"
clicked
"
,G_CALLBACK(gtk_widget_destroy),window);
gtk_container_add(GTK_CONTAINER(window),button);
gtk_widget_show(button);
gtk_widget_show(window);
gtk_main();
return
(
0
);
}
gcc
-
o helloword helloword.c `pkg
-
config
--
cflags
--
libs gtk
+-
2.0
`
gcc -o helloword helloword.c `pkg-config --cflags --libs gtk+-2.0`