Как добавить Блокнот в Коробку в VBox?

Я создал пустую коробку в Glade для добавления Блокнота. Причина, по которой я не добавляю настоящий Блокнот в Glade, заключается в том, что я слышал, что вы не можете добавлять страницы в Блокнот, созданный в Glade.

Итак, в Glade я создал Box в пустом слоте в VBox. Код, который я запускаю, выглядит следующим образом:

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)
7
задан 24 June 2012 в 17:45

1 ответ

Вот пример, который имеет контекст

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

. Он обеспечивает эту функциональность:

Это также работает, если вы используете свой собственный ноутбук. Обратите внимание, что при запуске примера вы видите небольшое изменение в геометрии окна (добавляемый объект), но оно не отображается для рендеринга, поскольку у него еще нет вкладок.

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()
0
ответ дан 24 June 2012 в 17:45

Другие вопросы по тегам:

Похожие вопросы: