将 Glade 与 pygobject Gtk3 一起使用

发布于 2024-11-06 21:12:16 字数 398 浏览 7 评论 0原文

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

我陷入困境,因为 Glade 模块是从模块 gtk 加载的:

 import gtk
 import gtk.glade

但没有现在就不再这样做了。

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

I am converting a script to use Gtk3 using the migration guide (Porting GTK2 to GTK3). I converted my import pygtk to a from gi.repository import Gtk and so on...

I'm stuck because the glade module was loaded from module gtk:

 import gtk
 import gtk.glade

but there's no way now to do that anymore.

Note that I would only need a replacement for gtk.glade.XML()...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

时光磨忆 2024-11-13 21:12:16

好吧,解决方案非常明显,在调用 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")

感谢 Riccardo。

Well, the solution is pretty obvious, after calling to Gtk.Builder() one needs to convert the old glade interface with the gtk-builder-convert command to get the interface file in the right version.

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

And then, in the python script:

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

Thanks to Riccardo.

墨落画卷 2024-11-13 21:12:16

这应该有效

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

This should work

from gi.repository import Gtk
builder = Gtk.Builder()
builder.add_from_file("project.xml")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文