2013-05-24 7 views
6

Ich entwickle gerade eine kleine Anwendung in Python mit der Verwendung von GTK + (und Glade). Bisher war alles ziemlich einfach zu integrieren, bis ich auf die Idee kam, Tabs anstelle von Pop-ups hinzuzufügen. Hinweis: Immer noch mit Python 2.7 +Python GTK (Glade) Notebook

Gibt es eine einfache Möglichkeit, bereits vorhandene Seiten innerhalb einer neuen Registerkarte (Notebook) wie Struktur zu implementieren? Ich habe Schwierigkeiten zu finden, wie Inhalte über separate Tabs, die in Lightning erstellt wurden, hinzugefügt werden. Perhabs eine "klarere" Frage: Welche Notebook-Funktion wird benötigt, um eine bestimmte V/HBox mit jedem anderen Tab aufzurufen? Die derzeitige Struktur sieht aus wie (minus Menü/Statusbar):

[ mainWindow ] --> (1) mainOverview (gtkVbox) --> (2A) mainContent (gtkHbox) ... other non-related content

Die Struktur ich hatte gehofft, würde so aussehen:

[ mainWindow ] --> (1) mainOverview --> (2) noteBook --> (3) Tab1 --> (4) mainContent (gtkHbox) -- (3) Tab2 --> (4) secondaryContent (gtkHbox)

Die Anwendung selbst in Ordnung (multithreaded arbeitet, voll funktioniert) ohne die Registerkarten enthält die mainContent(gtkHbox) eine Datei/rekursive Verzeichnisanalysator, ein paar Checkboxen und eine allgemeine Übersicht. Ich hoffte auf eine einfache Möglichkeit, dieses Hauptfenster (gtkHbox) nur anzuzeigen, wenn Tab1 ausgewählt ist.

Probleme haben, gute Referenzseiten zu finden, die eine ordnungsgemäße Methode zum Aufrufen von Inhaltsseiten pro Notizbuch anzeigen. Alle Referenzseiten oder nützliche Links werden sehr geschätzt! Danke bis jetzt! Ich entschuldige mich, wenn das eine ziemlich neue Frage ist, ich bin nicht neu in Python-Codierung, aber Schnittstellen auf der anderen Seite ...;)

+3

Haben Sie Schwierigkeiten beim Hinzufügen von Inhalt in Glade zu jeder Seite? Wenn Sie auf die Registerkarte doppelklicken, wird diese Seite zum Hinzufügen von Inhalt in der Lichtung ausgewählt. Sie können fortfahren und Inhalte für diese Seite hinzufügen. Zum Wechseln können Sie [set_current_page'] (https://developer.gnome.org/pygtk/2.24/class-gtknotebook.html#method-gtknotebook--set-current-page) verwenden, um zu der Seite zu wechseln, deren Inhalt Sie sind möchte angezeigt werden. Registrieren Sie sich für das Signal ['" switch-page ''] (https://developer.gnome.org/pygtk/2.24/class-gtknotebook.html#signal-gtknotebook--switch-page), um herauszufinden, welche Seite gewechselt wurde zu. –

+1

@ another.anon.coward: Ich habe nie realisiert, dass es so einfach wäre. Ich habe auf eine einfache Lösung innerhalb des Codes gehofft, aber ich kam nie auf die Idee, dass man H/VBoxen einfach zu jedem Tab in Glade ziehen kann! Ich danke dir sehr! :) – Mark

Antwort

0

Keine Antwort, aber es sieht aus wie "another.anon.coward" bereits hat dies in einem Kommentar beantwortet ...

Wenn Sie auf die Registerkarte doppelklicken, dann wird diese Seite zum Hinzufügen von Inhalt in Glade ausgewählt. Sie können fortfahren und Inhalte für diese Seite hinzufügen. Sie können set_current_page verwenden, um zu der Seite zu wechseln, deren Inhalt Sie anzeigen möchten. Registrieren Sie sich für das "switch-page" -Signal, um herauszufinden, auf welche Seite umgeschaltet wurde.