在old project我写的大约2000年我有一个glade file我想转换成林间空格现在可以阅读的内容,我将在PyGtk中使用。我已经搜索了类似问题的SO,并查看代码更改的内容,但我现在只对转换glade文件感兴趣。
当我运行 gtk-builder-convert 时,我得到了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>
连连呢?
答案 0 :(得分:2)
如果您的XML文件以GTK-Interface
开头,则表示您使用的是GTK + 1.2。
您不太可能将这样一个旧的Glade文件机械转换为可以与现代API一起使用的东西 - 即使您将自己限制在遗留2.0版本的GTK + API中也是如此。您的UI描述将包含已弃用的属性,信号和类 - 并且没有直接的1:1映射。
最后一次更改UI定义的XML格式是2007年,引入了GtkBuilder,但格式很大程度上基于Glade XML for GTK + 2.0,以至于简单的机械脚本像gtk-builder-convert
一样可以将旧格式转换为新格式。你的XML甚至比它早。
答案 1 :(得分:1)
感谢ebassi提供的信息,我最后要做的是运行 libglade-convert 将其转换为gtk 2.0,然后 gtk-builder-convert 转到其余的方式。当然有很多错误并且不完美,但它是一个开始。
答案 2 :(得分:0)
按照以下步骤,它可以使用从conda安装的Gtk3 +和Glade3 +在Linux上为我工作。
祝你好运!