Mam rozszerzone główne okno z dodanym QtGui.QTabWidget
. Tworzę kilka widgetów rozszerzonych z QtGui.QWidget
, które mogę dodać i usunąć do widgetu karty.Jak wyskoczyć osobne okno z zakładki Widget w PySide Qt
Co mam zrobić, to przycisk "pop-out", który powoduje, że widget podrzędny zostanie usunięty z widgetu tabulatora i pojawi się jako własne niezależne okno (oraz przycisk "pop-in" do wstawienia z powrotem do głównego okna). Ten sam pomysł, co Gtalk-in-Gmail. Pamiętaj, że jeśli zamknę główne okno, pozostałe "zakładki" lub "okna" również powinny się zamknąć, a ja powinienem móc umieścić wszystkie okna obok siebie i mieć je wszystkie widoczne i aktualizowane w tym samym czasie. (Będę wyświetlał dane zbliżone do rzeczywistych).
Jestem nowy w Qt, ale jeśli się nie mylę, jeśli widżet nie ma rodzica, pojawia się niezależnie. To działa, ale ja wtedy nie mają pojęcia, jak mogę „pop” okno widok.
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()
Mój gut mówi, że nie powinno być nadal relacja rodzic/dziecko między nimi.
Czy istnieje sposób na utrzymanie rodzica, ale nadal okno może pojawić się niezależnie, czy nie rozumiem stylu Qt?
Inaczej, czy tworzenie zmiennej w potomku, która ma zawierać link do głównego okna (np. self.parentalUnit = self.parent()
), jest dobrym pomysłem lub pomysłem hackish/kludgy?
Hi @Avaris, czyli _exactly_ co chciałem, po prostu nie może wydawać się go znaleźć, kiedy przeglądałem dokumenty. Jest także o wiele jaśniejszy, jak program płynie tutaj, dzięki za wspaniały przykład! :) –
@LauraWentworth: Cieszę się, że to pomaga :). – Avaris