• GTK入门学习:glade的使用


    搭建好环境后,在终端敲 glade 就可以启动glade工具。


    glade的总体框图:


    经常使用控件选择区:列举了经常使用的控件,经常使用的有三类:顶层(主窗体等)。容器(各种布局容器等)。控制和显示(button、便签、图片控件等)

    当鼠标放在控件时,会自己主动显示控件的中文文字。同一时候。还能人为设置,例如以下图:




    界面编辑区:把控件拖放在这进行进行对应的布局

    控件监视区:可以看到界面上全部的控件,同一时候,选中这个控件,可以看到这个控件的详细类型


    属性编辑区:编辑选中控件的经常使用属性,如窗体设置标题、窗体类型、屏幕上显示位置等。

    工具栏:经常使用的有下面几个button
    新建:新建一个glade文件
    打开:打开一个已经存在的glade文件
    保存:保存一个glade文件
    选择:按了这个button, 才干选择控件
    拖拽调整大小:按了这个button,才干移动控件的位置,改变控件的大小



    如今開始学习Glade的操作。


    选择控件时,一定要先按工具栏的“选择”button
    操作时。支持撤销(Ctrl+z)和恢复(Ctrl+y)等window的快捷键


    操作的流程和布局的过程是一致的:
    1)选择主窗体。依据须要设置窗体的对应属性
    2)选择布局容器
    3)依据须要选择对应的控件,依据须要设置控件的对应属性

    第一步:选择主窗体,依据须要设置窗体的对应属性
    1)选择窗体



    2)设置窗体标题:我们一起学习Glade;固定窗体大小;设置窗体位置:中心


    3)设置窗体的宽度和高度



    第二步:选择布局容器(固定布局能同意用户随意布局,所以我们选择此布局)




    第三步:依据须要选择对应的控件。依据须要设置控件的对应属性(每一个控件的设置方法都几乎相同,这里以“button”为例)
    1)选择两个button




    2)调整button的位置以及其大小(有两种方法能够设置)
    A)在界面编辑区里通过拖拽方式进行调整


    B)通过属性编辑区进行设置(先设置起点坐标,再设置其宽度和高度)

    a) 设置控件的起点坐标



    b)设置控件的宽度和高度




    4)设置button的属性

    A)第一个button作为带文本内容的普通button




    B)第二button为没边框的button
    button去边框





    其他控件的操作方法也是几乎相同的。这里就不一一列举。


    在代码操作时。我们须要关心的是。怎样通过代码获得这个界面的控件。如本样例中的(主窗体。button),而在界面里,每一个控件都有一个标识名称,这个标识名称就是在控件监视区的名字,我们代码里就通过这个标识名称来获取界面里的控件




    这个标识名称是能够改动的,例如以下图




    到这里,我们的界面就已经设置好了(一个主窗体里放了一个固定布局,布局里还放了2个button)。保存这个界面就可以使用。保存的时候选择合适路径以默认方式保存就可以,文件的后缀名能够随意。为了易于辨别文件。我们最好以 .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
    ", text);
    	gtk_widget_show_all(window);
    
    	gtk_main();
    
    	return 0;
     }
    


    执行结果:


    通过上面的样例,利用 glade 工具, 我们能够通过拖放控件的方式高速设计出用户界面。能够非常直观地进行对应的布局。

    可是。假设我们要想实现很多其它的功能,如给窗体设置背景图。让button做对应操作,我们还得通过代码实现。

    glade仅仅是辅助我们设计窗体,它不是万能的。



    源代码下载:http://download.csdn.net/download/lianghe_work/8936799

    转自:

  • 相关阅读:
    Linux安装cx_Oracle
    LVM分区
    命令行重启远程桌面服务
    常用Linux命令
    自动清理N天前的二进制日志
    MySQL常用操作
    Java里的堆(heap)栈(stack)和方法区(method)
    SpringMVC 八大注解
    Spring Cloud原理详解
    java线程的生命周期及五种基本状态
  • 原文地址:https://www.cnblogs.com/llguanli/p/8298919.html
Copyright © 2020-2023  润新知