J'ai créé une boîte vide dans Glade à laquelle ajouter un cahier. La raison pour laquelle je n'ajoute pas le bloc-notes réel dans Glade, c'est parce que j'entends dire que vous ne pouvez pas ajouter de pages à un bloc-notes créé dans Glade.
Ainsi, dans Glade, j'ai créé une boîte dans un emplacement vide dans une VBox. Le code que je lance est:
self.box = self.builder.get_object("box")
self.subjects = Gtk.Notebook()
self.box.add(self.subjects)
Rien ne se passe lors de la course, sauf ces avertissements qui, je crois, se produiront de toute façon:
/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)
Voici un exemple qui a du contexte
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()
Cela fonctionne avec ce fichier glade
Il fournit cette fonctionnalité:
Cela fonctionne également si vous utilisez votre propre bloc-notes. Notez que lorsque vous exécutez l'exemple, vous voyez une légère modification de la géométrie de la fenêtre (l'objet ajouté), mais le rendu ne semble pas s'afficher car il ne contient pas encore d'onglets.
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()