- 配置安装gcc/g++/gdb/make 等基本编程工具
sudo apt-get install build-essential
- 安装GTK/GNOME开发环境
sudo apt-get install gnome-devel gnome-devel-docs
- 安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库
sudo apt-get install glade libglade2-dev
- 编译条件
gcc gtk1.c -o gtk1 `pkg-config --cflags --libs gtk+-3.0` -w
常用的函数:
gtk_init(NULL,NULL);//初始化
GtkWidget *window=gtk_window_new(GTK_WINDOW_TOPLEVEL);//创建窗口
gtk_window_set_title(window,"你好");//设置标题
g_signal_connect(window,"destroy",gtk_main_quit,NULL);//获取信号,结束进程
gtk_widget_set_sensitive(window,0);//控件功能失效
gtk_window_set_resizable(window,1);//固定控件大小
gtk_window_set_position(window,GTK_WIN_POS_CENTER_ALWAYS);//设置控件在中心显示
gtk_window_maximize(window);//最大化控件
gtk_widget_set_size_request(window,400,400);//设置控件大小
/*盒子布局*/
GtkBox *box=gtk_box_new(int orientation,int spacing);//orientation方向spacing 单元格间隙
/*
orientation:GTK_ORIENTATION_HORIZONTAL,GTK_ORIENTATION_VERTICAL
*/
gtk_box_pack_start(int box,int child,boolean expand,boolean fill,int padding);//将控件加入盒子空间
/*网格布局*/
GtkGrid *grid = gtk_grid_new();
gtk_grid_attach(grid,child,int left,int top,int width,int height);//
/*
将控件加入网格,表格行列动态增加,left,top子控件横纵格编号,width,height占用的列行数
*/
/*添加输入框*/
GtkEntry *entry1=gtk_entry_new();//创建文本控件
gtk_widget_show(entry1);//显示控件
gtk_container_add(window,entry1);//将控件加入容器
/*添加按钮*/
GtkButton *btn1=gtk_button_new();//创建button
gtk_button_set_label(btn1,"确定");//设置控件名称
gtk_widget_show(btn1);//显示控件
gtk_container_add(window,btn1);//将控件加入到容器
/*添加标签*/
GtkLabel *label= gtk_label_new("这是标签");//创建标签
gtk_container_add(window,label);//将控件加入容器
gtk_widget_show(label);//显示控件
gtk_widget_show(window);//显示控件
gtk_main();//等待事件处理
控件树结构: