Ho una finestra principale estesa con un QtGui.QTabWidget
aggiunto. Sto creando diversi widget estesi da QtGui.QWidget
che posso aggiungere e rimuovere nel widget scheda.Come visualizzare una finestra separata da una tabWidget in PySide Qt
Quello che mi piacerebbe fare è avere un pulsante "pop-out" che fa sì che il widget figlio venga rimosso dal widget tab e venga visualizzato come finestra indipendente (e un pulsante "pop-in" da inserire torna nella finestra principale). Lo stesso tipo di idea di Gtalk-in-Gmail. Nota che se chiudo la finestra principale, anche le altre "tab" o "finestre" dovrebbero chiudersi, e dovrei essere in grado di mettere tutte le finestre affiancate e renderle tutte visibili e aggiornate allo stesso tempo. (Visualizzerò dati quasi in tempo reale).
Sono nuovo a Qt, ma se non sbaglio, se un Widget non ha un genitore viene in modo indipendente. Questo funziona, ma poi non ho idea di come avrei potuto "pop", il lunotto posteriore in.
class TCWindow(QtGui.QMainWindow):
.
.
.
def popOutWidget(self, child):
i = self.tabHolder.indexOf(child)
if not i == -1:
self.tabCloseRequested(i)
self.widgets[i].setParent(None)
self.widgets[i].show()
Il mio intestino dice che ci dovrebbe essere ancora una relazione padre/figlio tra i due.
C'è un modo per mantenere il genitore ma hanno comunque la finestra che si alza autonomamente, o sto fraintendendo lo stile di Qt?
In caso contrario, la creazione di una variabile nel figlio per contenere un collegamento alla finestra principale (come self.parentalUnit = self.parent()
) può essere una buona idea o un'idea di hacker/kludgy?
Hi @Avaris, cioè _esattamente_ quello che volevo, ho appena non poteva sembrare trovarlo quando ho stava guardando attraverso i documenti. È anche molto più chiaro come il programma scorre qui, quindi grazie per il grande esempio! :) –
@LauraWentworth: Sono contento che aiuti :). – Avaris