gtk学习笔记02 使用glade画一个简单的界面

  1. 用代码画界面很累,用图形化工具画界面很爽

  2. 什么是glade,是一个可以拖拽出一个界面的工具

    1. 下载glade
      • 旧版本链接在这http://60.179.35.214:2811/e/file/download?code=4a4e3f7e24081336&id=47396
      • windows新版本glade3-8-5的下载链接http://ftp.acc.umu.se/pub/GNOME/binaries/win32/glade/3.8/
        失效了就去这里翻翻看https://mail.gnome.org/archives/glade-devel-list/2013-September/msg00002.html
    2. 无脑下一步即可
    3. 完成后打开,主界面如下图(我勾选了2.8)
      gtk学习笔记02 使用glade画一个简单的界面
  3. 使用glade拖拽一个简单的界面

    1. 先拖一个window出来,修改namewindow_main,修改标题hello_main,可选默认宽高,
      gtk学习笔记02 使用glade画一个简单的界面
    2. 给窗口添加事件
      gtk学习笔记02 使用glade画一个简单的界面
    3. 再添加一个label控件
      gtk学习笔记02 使用glade画一个简单的界面
    4. ctrl+s保存为文件02windows_miain.glade
      gtk学习笔记02 使用glade画一个简单的界面
  4. 然后编写main.cpp,步骤和gtk学习笔记01 helloworld是一样的,只不过代码不同

    1. main.cpp
        #include <gtk/gtk.h>
        #include <string.h>
      
        void on_window_main_destroy() {
            gtk_main_quit();
        }
      
        int main(int argc, char **argv) {
            GtkBuilder *builder;
            GtkWidget *window;
            gtk_init(&argc, &argv);
            builder = gtk_builder_new();
            char* filePath = "glades/02window_main.glade";
            gtk_builder_add_from_file(builder, filePath, NULL);
            window = GTK_WIDGET(gtk_builder_get_object(builder, "window_main"));
            gtk_builder_connect_signals(builder, NULL);
            g_signal_connect(window, "delete_event", on_window_main_destroy, NULL);
            g_object_unref(builder);
            gtk_main();
            return 0;
        }
      
      
  5. 运行发现没有窗口弹出,可能是版本原因,于是要修改ui文件02windows_miain.glade

    1. 打开ui文件(本质是xml文件)
      添加如下图的代码,并注释掉字体大小设置的代码
      	   <!-- 无法显示窗口的问题,请加上下面这句 -->
      <property name="visible">True</property>
      
      gtk学习笔记02 使用glade画一个简单的界面
    2. 使用新版本的glade3-8-5窗口记得选择显示,字体也可以正常放大了
      gtk学习笔记02 使用glade画一个简单的界面
  6. 再次编译运行得到
    gtk学习笔记02 使用glade画一个简单的界面