将 GTK 1.2 glade XML 文件转换为 glade 现在可以读取的内容
Converting GTK 1.2 glade XML file to something glade can now read
在 old project I wrote circa 2000 I have a glade file 中,我想将其转换为 glade 现在可以阅读的内容,我将在 PyGtk 中使用。我已经搜索了类似的问题并查看了代码更改的内容,但我现在只对转换 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>
建议?
如果您的 XML 文件以 GTK-Interface
开头,则表示您使用的是 GTK+ 1.2。
您不太可能将这样一个旧的 Glade 文件机械地转换成可以与现代 API 一起使用的文件 — 即使您将自己限制在 GTK+ API 的遗留 2.0 版本中。您的 UI 描述将包含已弃用的属性、信号和 类 — 并且没有针对这些的直接 1:1 映射。
上一次更改 UI 定义的 XML 格式是在 2007 年,当时引入了 GtkBuilder,但该格式主要基于 Glade XML 用于 GTK+ 2.0,以至于像 gtk-builder-convert
这样的简单机械脚本可以将旧格式转换为新格式。你的 XML 甚至早于那个。
感谢 ebassi 提供的信息,我最后做的是 运行 libglade-convert 将其转换为 gtk 2.0,然后 gtk -builder-convert 走完剩下的路。当然有很多错误,它并不完美,但它是一个开始。
使用 Gtk3+ 和 Glade3+ 通过以下步骤从 conda 安装,它对我来说 Linux。
- 在 Glade3+ 用户界面.
中打开 Gtk1+ older glade XML 文件
- 单击 Glade3+ 用户界面保存 按钮。
- 打开终端以 conda 激活 gtk-builder-convert infile outfile.
祝你好运!
在 old project I wrote circa 2000 I have a glade file 中,我想将其转换为 glade 现在可以阅读的内容,我将在 PyGtk 中使用。我已经搜索了类似的问题并查看了代码更改的内容,但我现在只对转换 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>
建议?
如果您的 XML 文件以 GTK-Interface
开头,则表示您使用的是 GTK+ 1.2。
您不太可能将这样一个旧的 Glade 文件机械地转换成可以与现代 API 一起使用的文件 — 即使您将自己限制在 GTK+ API 的遗留 2.0 版本中。您的 UI 描述将包含已弃用的属性、信号和 类 — 并且没有针对这些的直接 1:1 映射。
上一次更改 UI 定义的 XML 格式是在 2007 年,当时引入了 GtkBuilder,但该格式主要基于 Glade XML 用于 GTK+ 2.0,以至于像 gtk-builder-convert
这样的简单机械脚本可以将旧格式转换为新格式。你的 XML 甚至早于那个。
感谢 ebassi 提供的信息,我最后做的是 运行 libglade-convert 将其转换为 gtk 2.0,然后 gtk -builder-convert 走完剩下的路。当然有很多错误,它并不完美,但它是一个开始。
使用 Gtk3+ 和 Glade3+ 通过以下步骤从 conda 安装,它对我来说 Linux。
- 在 Glade3+ 用户界面. 中打开 Gtk1+ older glade XML 文件
- 单击 Glade3+ 用户界面保存 按钮。
- 打开终端以 conda 激活 gtk-builder-convert infile outfile.
祝你好运!