Notebook-Tabs aus anderer (pyglade)Anwendung verwenden

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
pete123
User
Beiträge: 7
Registriert: Sonntag 13. Mai 2007, 16:49
Kontaktdaten:

Samstag 2. Juni 2007, 01:37

Hi,

ich verwende in meinem Programm ein großes 'Notebook' widget und nun möchte ich meinen Usern die Möglichkeit geben, eigene Notebook-Tabs zum Notebook hinzuzufügen, ohne dass sie dabei meine .glade und .py Datei anfassen müssen.

Ich hatte mir das ungefähr so gedacht:
Der User erstellt ein kleines Python Programm mit einem Notebook-Tab namens tab_modulname sowie einer Funktion die mir dieses Tab zurückgibt.

Ich habe mir mithilfe der Doku das ganze so gedacht:

Code: Alles auswählen

notebook2=self.wTree2.get_widget('notebook2') #wTree ist das Glade XML Objekt.
notebook=self.wTree1.get_widget('notebook1')

tab = notebook2.get_nth_page(0) #erste Seite holen
tablabel = notebook2.get_tab_label(tab) #Label von der Seite holen.

notebook1.insert_page(tab) #einfügen am ende
notebook1.set_tab_label(tab,tablabel) #Label setzen
jedoch bekomme ich dann folgende Fehlermeldung
notebook1.insert_page(page)
nb.py:48 GtkWarning: Can't set a parent on widget which has a parent

und
notebook1.set_tab_label(page,label)
nb.py:49: GtkWarning: Can't set a parent on widget which has a parent
Und dann fügt er es leider auch nicht in das Notebook ein.


--> Meine Frage lautet, wie kann ich ein Notebook-Tab aus einer anderen Anwendung in mein Notebook einbinden, bzw wie entferne ich den Parent im obigen fall.


Vielen Dank,
Pete
Antworten