LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2233|回复: 0

用libglade使用glade创建好的GUI描述文件(.glade)

[复制链接]
发表于 2006-2-23 09:42:48 | 显示全部楼层 |阅读模式
用实例说明一下,比如你得到了一个test.glade文件,并且加入了事件处理函数do_some()到某个widget ,MainWindow中。
  1. #include <gtk/gtk.h>
  2. #include <glade/glade.h>
  3. void do_some(GtkWidget *widget, gpointer user_data) {
  4.   /* do something useful here */
  5. }
  6. int main(int argc, char *argv[]) {
  7.     GladeXML *xml;
  8.     gtk_init(&argc, &argv);
  9.     glade_init();
  10.     /* load the interface */
  11.     xml = glade_xml_new("test.glade", NULL, NULL);
  12.     /* connect the signals in the interface */
  13.     glade_xml_signal_autoconnect(xml);
  14.     /* start the event loop */
  15.     gtk_main();
  16.     return 0;
  17. }
复制代码


使用glade_xml_signal_autoconnect()函数可以将接口描述文件中的事件处理函数和你代码中定义的同名函数自动连接起来。
例如test.glade类似这个样子。
<widget>
  <class>GtkWindow</class>
  <name>MainWindow</name>
  <signal>
    <name>destroy</name>
    <handler>do_some</handler>
  </signal>
  ...
如果要编译这个程序,那么运行

cc -o testprogram testprogram.c `libglade-config --cflags --libs`
libglade-config脚本会自动为你加上所需要的编译和链接参数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表