2015-06-26 30 views
1

old project我写了大约2000年我有一个glade file我想转换成可以读取的glade,我将在PyGtk中使用。我已经搜索过类似的问题,并查看代码更改的内容,但我现在只是对转换glade文件感兴趣。将GTK 1.2 glade XML文件转换为林间空地现在可以读取

当我运行GTK的建设者,转换我得到的Python回溯:

Traceback (most recent call last): 
    File "/usr/bin/gtk-builder-convert", line 799, in <module> 
    sys.exit(main(sys.argv)) 
     File "/usr/bin/gtk-builder-convert", line 787, in main 
    conv.parse_file(input_filename) 
    File "/usr/bin/gtk-builder-convert", line 162, in parse_file 
    self._parse() 
    File "/usr/bin/gtk-builder-convert", line 234, in _parse 
    assert glade_iface, ("Badly formed XML, there is " 
AssertionError: Badly formed XML, there is no <glade-interface> tag. 

这确实是真的。文件开始:

<?xml version="1.0"?> 
<GTK-Interface> 

建议?

回答

2

如果你的XML文件GTK-Interface开始就意味你使用GTK + 1.2。

这不太可能,你可以机械改造这样一个古老的格莱德文件到的东西,可以用现代的API一起使用 - 即使你限制自己的GTK + API的遗产2.0版本。你的用户界面描述将包含不赞成使用的属性,信号和类 - 并且这些映射不存在直接的1:1映射。

用户界面定义的XML格式最后一次更改为2007年,引入了GtkBuilder,但格式主要基于GTK + 2.0的Glade XML,以至于像gtk-builder-convert这样的简单机械脚本可以将旧格式转换为新格式。即使是这样,你的XML也早于此。

1

感谢来自ebassi,我清盘做信息运行libglade的变频得到这个GTK 2.0,然后GTK建设者变频走的方式休息。当然,有很多错误,这是不完美的,但它是一个开始。