Python GtkBuilder无法从Glade 3.14导入Box小部件

时间:2013-04-15 01:39:42

标签: python glade gtk3

在我的布局中,我使用了大量的盒子布局。在我查看的大多数教程中,人们会使用HBoxVBox。我并不认为Box会有太大不同。

GtkBuilder在Glade文件中有Box布局的时候凄惨地窒息,给我以下错误信息:

Gtk:ERROR:/build/buildd/gtk+3.0-3.6.0/./gtk/gtknotebook.c:1235:gtk_notebook_buildable_add_child: assertion failed: (page != NULL)

我已经看了这个,他们最好的回应是恢复到Glade 3.8。我不想这样做,因为Glade 3.8是为GTK + 2设计的,我想为GTK + 3开发(我真的很喜欢Gnome shell界面)。因此,我试图坚持使用3.14。

是否有其他版本的GtkBuilder支持新的Box布局? Glade开发人员在不更新相应的GtkBuilder对象的情况下会破坏他们的支持,这似乎很奇怪。

这是创建界面的Python代码:

from gi.repository import Gtk

class MainWindow(object):

    def __init__(self):
        self.builder = Gtk.Builder()
        self.builder.add_from_file('main-window.glade')

        self.window = self.builder.get_object('mainWindow')

        self.builder.connect_signals(self)

非常感谢任何帮助或建议!

1 个答案:

答案 0 :(得分:1)

感谢gpoo帮助我解决这个问题:

请务必阅读您的错误消息!我有GtkNotebook个空白页面,导致GtkBuilder抱怨。所以没有空白页。

此外,GtkBox在其所有排列中都可以正常工作(至少在Python界面上)。