标签:
搭建好环境后,在终端敲 glade 即可启动glade工具。
glade的整体框图:
常用控件选择区:列举了常用的控件,常用的有三类:顶层(主窗口等),容器(各种布局容器等),控制和显示(按钮、便签、图片控件等)
当鼠标放在控件时,会自动显示控件的中文文字,同时,还能人为设置,如下图:
3)设置窗口的宽度和高度
a) 设置控件的起点坐标
b)设置控件的宽度和高度
4)设置按钮的属性
A)第一个按钮作为带文本内容的普通按钮
B)第二按钮为没边框的按钮
按钮去边框
在代码操作时,我们需要关心的是,如何通过代码获得这个界面的控件,如本例子中的(主窗口,按钮),而在界面里,每个控件都有一个标识名称,这个标识名称就是在控件监视区的名字,我们代码里就通过这个标识名称来获取界面里的控件:
这个标识名称是可以修改的,如下图
到这里,我们的界面就已经设置好了(一个主窗口里放了一个固定布局,布局里还放了2个按钮),保存这个界面即可使用,保存的时候选择合适路径以默认方式保存即可,文件的后缀名可以任意,为了易于辨别文件,我们最好以 .glade 后缀,这里保存为test.glade。
代码操作
可以简单分为两步:
1)读取glade文件
// 创建GtkBuilder对象,GtkBuilder在<gtk/gtk.h>声明
GtkBuilder *builder = gtk_builder_new();
// 读取test.glade文件的信息,保存在builder指针变量里
gtk_builder_add_from_file(builder, "./test.glade", NULL);
2)获取glade文件里的控件
// 获取窗口控件指针,注意"window1" 要和glade里的标志名称匹配
GtkWidget *window = GTK_WIDGET(gtk_builder_get_object (builder, "window1"));
代码如下:
#include <gtk/gtk.h> int main(int argc,char *argv[]) { //1.gtk初始化 gtk_init(&argc,&argv); //2.创建GtkBuilder对象,GtkBuilder在<gtk/gtk.h>声明 GtkBuilder *builder = gtk_builder_new(); //3.读取test.glade文件的信息,保存在builder中 if ( !gtk_builder_add_from_file(builder,"test.glade", NULL)) { printf("connot load file!"); } //4.获取窗口指针,注意"window1"要和glade里面的标签名词匹配 GtkWidget *window = GTK_WIDGET(gtk_builder_get_object(builder,"window1")); GtkButton *button = GTK_BUTTON(gtk_builder_get_object(builder, "button1")); const char *text = gtk_button_get_label(button); printf("text=%s\n", text);
gtk_widget_show_all(window); gtk_main(); return 0; }
通过上面的例子,利用 glade 工具, 我们可以通过拖放控件的方式快速设计出用户界面,可以很直观地进行相应的布局。但是,如果我们要想实现更多的功能,如给窗口设置背景图,让按钮做相应操作,我们还得通过代码实现。glade只是辅助我们设计窗口,它不是万能的。
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/lianghe_work/article/details/47084947