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`
如果要用到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`