Ubuntu 12.04下Glade3问题汇总

本文记录了在Ubuntu 12.04系统中使用Glade3开发GUI界面时遇到的问题及解决办法,包括gtk-builder-convert命令转换错误和信号与回调函数未连接的问题,提供了相应的编译命令修复方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在用Glade3编写GUI界面,遇到了一些问题,下面把遇到的一些问题记录下来,以备将来参考

先列出lz入门时参考的教程,写的真心很好,对初学者很有帮助,赞一个:

http://blog.chinaunix.net/uid-14735472-id-3020316.html

http://blog.163.com/a3563@126/blog/static/54675706201011735631279/

http://blog.youkuaiyun.com/w_xue/article/details/5992066

http://en.moroumo.com/blog/category/glade

http://blog.borovsak.si/

http://scentric.net/tutorial/treeview-tutorial.html(针对Tree View的一篇不可多得的教程,就是有点长)

1、用gtk-builder-convert命令将Glade3生成的.glade文件转换成.xml文件时出错,如下:

Traceback (most recent call last):

File "/usr/bin/gtk-builder-convert", line 772, in <module>

sys.exit(main(sys.argv))

File "/usr/bin/gtk-builder-convert", line 760, in main

conv.parse_file(input_filename)

File "/usr/bin/gtk-builder-convert", line 161, in parse_file

self._parse()

File "/usr/bin/gtk-builder-convert", line 233, in _parse

assert glade_iface, ("Badly formed XML, there is "

AssertionError: Badly formed XML, there is no <glade-interface> tag.

解决方法很简单,就是省去这一步,在代码中直接使用.glade文件就行了,由于教程时间比较早,当时的Glade版本还需要进行这样的转换,但现在不需要了。


2、编译过程没出错,但是运行时显示(TestGlade:5253): Gtk-WARNING **: Could not find signal handler 'on_window_destroy‘,也就是说信号和回调函数没有连接上,这个错误是由于编译时缺少选项导致的。

解决方法有下面两种,如下:

(1)编译命令改为gcc -o main main.c `pkg-config --cflags --libs gtk+-2.0 gmodule-export-2.0`

其中重要的就是要加上gmodule-export-2.0。这个方法在exlipse中进行配置也是可行的,但是下面的方法在eclipse中行不通,不知为何。

(2)编译命令改为gcc -o main main.c `pkg-config --cflags --libs gtk+-2.0` -export-dynamic

其中重要的是要加上-export-dynamic。

具体原因目前lz还不太清楚,也没有仔细研究。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值