如何将笔记本添加到VBox中的Box?

我在Glade中创建了一个空盒子来添加一个Notebook。 我没有在Glade中添加实际笔记本的原因是因为我听说你无法将页面添加到用Glade制作的笔记本中。

所以,在Glade中,我在VBox的空槽中创建了一个Box。 我正在运行的代码是:

self.box = self.builder.get_object("box") self.subjects = Gtk.Notebook() self.box.add(self.subjects) 

跑步时没有任何事情发生,除了这些警告,我相信这些警告无论如何都会发生:

 /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `Window' can't be set after construction Gtk.Window.__init__(self, type=type, **kwds) /usr/lib/python2.7/dist-packages/gi/overrides/Gtk.py:391: Warning: g_object_set_property: construct property "type" for object `NotetakerWindow' can't be set after construction Gtk.Window.__init__(self, type=type, **kwds) 

这是一个有上下文的例子

 from gi.repository import Gtk class Handler: def onDeleteWindow(self, *args): Gtk.main_quit(*args) def addNotebookClick(self, *args): vbox = builder.get_object("attachtome") mynote = builder.get_object("notebook1") temp = Gtk.Box() mynote.reparent(temp) vbox.pack_start(temp, expand=False, fill=False, padding=0) window.show_all() builder = Gtk.Builder() builder.add_from_file("howtoaskaprogrammingquestion.glade") builder.connect_signals(Handler()) window = builder.get_object("window1") window.show_all() Gtk.main() 

它适用于此glade文件

它提供此function: 在此处输入图像描述

如果您使用自己的笔记本,这也有效。 请注意,运行该示例时,您会看到窗口几何体(正在添加的对象)略有变化,但它似乎没有呈现,因为它还没有任何选项卡。

 from gi.repository import Gtk class Handler: def onDeleteWindow(self, *args): Gtk.main_quit(*args) def addNotebookClick(self, *args): vbox = builder.get_object("attachtome") mynote = Gtk.Notebook() #mynote = builder.get_object("notebook1") #temp = Gtk.Box() #mynote.reparent(temp) vbox.pack_start(mynote, expand=False, fill=False, padding=0) window.show_all() builder = Gtk.Builder() builder.add_from_file("howtoaskaprogrammingquestion.glade") builder.connect_signals(Handler()) window = builder.get_object("window1") window.show_all() Gtk.main() 
    Interesting Posts