GTK3 笔记 - 通过Glade工具生成xml文件,绘制主窗口

719 阅读1分钟

废话不多说,下面是通过Glade工具生成的xml文件,配合上模板代码,绘制主窗口。


C模板代码:

#include <gtk/gtk.h>

int main(int argc, char *argv[]) {
    GtkBuilder *builder = NULL;
    GtkWidget *window = NULL;

    gtk_init(&argc, &argv);

    builder = gtk_builder_new_from_file("./glade/window_main.glade");
    window = GTK_WIDGET(gtk_builder_get_object(builder, "window_main"));

    gtk_builder_connect_signals(builder, NULL);
    g_object_unref(builder);

    gtk_widget_show(window);
    gtk_main();

    return 0;
}

void on_window_main_destroy(void) { gtk_main_quit(); }

Glade工具生成的xml文件:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
  <requires lib="gtk+" version="3.20"/>
  <object class="GtkWindow" id="window_main">
    <property name="can_focus">False</property>
    <property name="title" translatable="yes">main window</property>
    <property name="window_position">center</property>
    <property name="default_width">640</property>
    <property name="default_height">480</property>
    <signal name="destroy" handler="on_window_main_destroy" swapped="no"/>
    <child>
      <placeholder/>
    </child>
  </object>
</interface>

编译命令:
gcc -o win-demo main.c `pkg-config --cflags --libs gtk+-3.0` -export-dynamic

效果图: