2013-05-24 16 views
6

Attualmente sto sviluppando una piccola applicazione in Python con l'uso di GTK + (e Glade). Tutto è stato abbastanza semplice da integrare finora, fino a quando non mi è venuta l'idea di aggiungere schede anziché pop-up. Nota: Stai ancora usando Python 2.7+Python GTK (Glade) Notebook

C'è un modo semplice per implementare le pagine già esistenti all'interno di una nuova scheda (notebook) come la struttura? Ho difficoltà a trovare come aggiungere contenuto per scheda separata creata in glade. Perhab una domanda più "chiara": Quale funzione Notebook sarà richiesta per chiamare un V/HBox specifico con ogni scheda diversa? L'attuale struttura si presenta come (meno Menu/barra di stato):

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

La struttura che speravo sarebbe simile:

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

L'applicazione stessa funziona bene (multithread, completamente funzionante) senza le schede, lo mainContent(gtkHbox) contiene un file/analizzatore di directory ricorsivo, alcune checkbox e una panoramica generale. Speravo in un modo semplice per visualizzare questa finestra principale (il gtkHbox) SOLO quando hai selezionato Tab1.

Avere difficoltà a trovare pagine di riferimento valide che visualizzano un modo corretto per chiamare le pagine di contenuto per scheda del notebook. Qualsiasi pagina di riferimento o link utili sono molto apprezzati! Grazie mille! Le mie scuse se questa è una domanda piuttosto nuova, non sono nuovo alla codifica di Python, ma interfacce d'altra parte ...;)

+3

Umm hai difficoltà ad aggiungere contenuti in radura a ciascuna pagina? Se fai doppio clic sulla scheda, quella pagina viene selezionata per aggiungere contenuto in glade. Puoi andare avanti e aggiungere contenuti per quella pagina. Per quanto riguarda il passaggio puoi usare ['set_current_page'] (https://developer.gnome.org/pygtk/2.24/class-gtknotebook.html#method-gtknotebook--set-current-page) per passare alla pagina di cui sei il contenuto voglio mostrare. Registrati per ['" switch-page "'] (https://developer.gnome.org/pygtk/2.24/class-gtknotebook.html#signal-gtknotebook--switch-page) segnale per scoprire quale pagina è stata cambiata a. –

+1

@ another.anon.coward: non ho mai realizzato che sarebbe stato così semplice. Speravo in una soluzione semplice che si trovasse all'interno del codice stesso, ma non mi è venuta in mente l'idea di poter semplicemente "trascinare" H/VBox su ogni Tab di Glade! Grazie mille! :) – Mark

risposta

0

Non una risposta, ma sembra che "another.anon.coward" già ha risposto a questo in un commento ...

Se si fa doppio clic sulla scheda, la pagina viene selezionata per l'aggiunta di contenuto in radura. Puoi andare avanti e aggiungere contenuti per quella pagina. Per quanto riguarda il passaggio è possibile utilizzare set_current_page per passare alla pagina di cui si desidera visualizzare il contenuto. Registrati per il segnale "switch-page" per scoprire a quale pagina è stata attivata.

Problemi correlati