【问题标题】:Use glade with pygobject Gtk3将 glade 与 pygobject Gtk3 一起使用
【发布时间】:2011-08-24 11:44:31
【问题描述】:

我正在使用迁移指南 (Porting GTK2 to GTK3) 将脚本转换为使用 Gtk3。我将我的import pygtk 转换为from gi.repository import Gtk 等等......

我被卡住了,因为 glade 模块是从模块 gtk 加载的:

 import gtk
 import gtk.glade

但现在没有办法再这样做了。

请注意,我只需要替换 gtk.glade.XML()...

【问题讨论】:

    标签: pygtk glade pygobject gtk3


    【解决方案1】:

    嗯,解决方法很明显,在调用Gtk.Builder() 之后,需要使用gtk-builder-convert 命令转换旧的glade 接口,以获得正确版本的接口文件。

     $ gtk-builder-convert myui.glade myui.ui
    

    然后,在 python 脚本中:

     from gi.repository import Gtk
     builder = Gtk.Builder()
     builder.add_from_file("myui.ui")
    

    感谢里卡多。

    【讨论】:

      【解决方案2】:

      这应该可以工作

      from gi.repository import Gtk
      builder = Gtk.Builder()
      builder.add_from_file("project.xml")
      

      【讨论】:

      • 好吧,我被 Python 称为名称,因为我的 XML 文件有一个名为 glade-interface 的无效根元素:)
      • 我遇到了同样的问题。我们真的需要一些关于使用 Glade 和 PYGObject 的简单教程,如果他们想让我们使用的话。目前过于依赖 PyGTK。
      • 成功了吗?我无法测试它。在这种情况下,我会将措辞更改为“这有效”
      • 不,没有,请参阅我的第一条评论。 project.xml 必须有什么形式?不是林间空地文件吗?
      • 据我所知,不久前 libglade 被 gtk.builder 取代以拥有官方的 gtk api。格式一定是变了。见micahcarrick.com/gtk-builder-libglade-faq.html
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2012-05-18
      相关资源
      最近更新 更多