Notebook-Tabs aus anderer (pyglade)Anwendung verwenden
Verfasst: 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:
jedoch bekomme ich dann folgende Fehlermeldung
--> 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
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
Und dann fügt er es leider auch nicht in das Notebook ein.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
--> 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