在我的布局中,我使用了大量的盒子布局。在我查看的大多数教程中,人们会使用HBox
和VBox
。我并不认为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)
非常感谢任何帮助或建议!
答案 0 :(得分:1)
感谢gpoo帮助我解决这个问题:
请务必阅读您的错误消息!我有GtkNotebook
个空白页面,导致GtkBuilder
抱怨。所以没有空白页。
此外,GtkBox
在其所有排列中都可以正常工作(至少在Python界面上)。