在Linux下使用Gtk+实现最简单的GUI窗口,源代码如下:
//SimpleGui.c
#include
int main(int argc,char *argv[])
{
//定义一个widget(Gtk+构件),这里定义的是一个窗口构件
GtkWidget *wnd;
//Gtk+2.0的初始化命令行参数,每一个Gtk+程序都要有这句话
gtk_init(&argc,&argv);
//创建一个置顶的窗口
wnd = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//设置这个窗口的标题是"Simple Form with Gtk+"
gtk_window_set_title(GTK_WINDOW(wnd),"Simple Form with Gtk+");
//Gtk+的信号回调函数,这里的这个回调函数的作用的是关闭窗口
g_signal_connect(G_OBJECT(wnd),"destroy",G_CALLBACK(gtk_main_quit),NULL);
//显示构件函数,这里是显示窗口
gtk_widget_show(wnd);
//Gtk+2.0的主循环事件,每一个Gtk+2.0程序都要一个,否则程序无法运行,同时这个函数是一个死循环
//只有通过上面的g_signal_connect信号回调函数退出这个死循环
gtk_main();
return 0;
}
//makefile(编写Makefile文件可以让程序编译更加简便)
CC=gcc
OFLAG=o
GFLAG=-g
GTK=`pkg-config --cflags --libs gtk+-2.0`
SimpleGui:SimpleGui.c
$(CC) $(OFLAG) SimpleGui SimpleGui.c $(GTK)
$(CC) $(OFLAG) SimpleGui.debug $(GFLAG) SimpleGui.c $(GTK)
然后在终端中输入make就可以编译出SimpleGui和SimpleGui.debug两个文件,其中SimpleGui.debug文件是调试文件,如果程序有问题,可以使用DDD这个软件进行程序调试。一个简单的Gtk+程序就写好了,希望和其他在Linux下做开发的朋友多多的交流,我是一个初学者,还有很多地方希望得到各位的指导,谢谢。