Jestem nowym, aby QT Designer, więc to pytanie może być głupie, ale naprawdę się podniecam.

Tworzę aplikację za pomocą QT Designer i Pyqt5. Moja aplikacja zawiera kilka ekranów i chcę przełączać się między nimi, klikając przycisk.

Pierwszy ekran składa się z przycisku (przycisk_1) i etykiety (label_1) umieszczony w układzie pionowym. Drugi ekran składa się również z przycisku (przycisk_2) i etykiety (label_2), ale są to różne widżety o różnych rozmiarach i zawartości. I chcę umieścić przycisk_2 i label_2 w układzie poziomym.

Wcześniej nie korzystałem z układów. Właśnie utworzyłem jeden plik .Ui i umieść przycisk_2 i label_2 powyżej przycisk_1 i label_1. Zostały one nakładane, ale nie wpłynęły na wyniki, ponieważ wykonałem niewidoczny przycisk_2 i label_2, gdy pokazano przycisk_1 i label_1 i odwrotnie. Ale teraz muszę dokonać rezygnacji okna i muszę umieścić widżety w układzie.

Pierwszą myślą było utworzenie dwóch oddzielnych plików .Ui i ustaw je za pomocą polecenia Loadui, jeśli chodzi o przełączanie między ekranami. Ale muszę użyć tylko jednego pliku .ui. czy to możliwe? Jak mogę utworzyć dwa niezależne układy? A może jest inny sposób na rozwiązanie mojego programu. Wszelaka pomoc jest bardzo doceniana.

0
sunflower 29 październik 2020, 11:03

1 odpowiedź

Najlepsza odpowiedź

Myślę, że w tym przypadku najlepszym opcją jest użycie QStackedWidget jako kontenera do etykiet i przycisków. Aby utworzyć włożoną widget w QT Designer, możesz przeciągnąć sterowany widżet z grupy pojemnika po lewej do widgetu nadrzędnego. Spowoduje to utworzenie stosu z dwiema stronami. Każda strona może być następnie ustawiona niezależnie. Niezależnie od tego, jakie i widżety dodane do określonej strony będzie widoczne tylko wtedy, gdy ta strona zostanie wyświetlona. Możesz dodać dodatkowe strony, jeśli chcesz kliknąć prawym przyciskiem myszy na włożej widget i wybierając stronę Wstaw z menu kontekstowego.

Aby poruszać się między stronami w QT Designer, możesz wybrać prawidłowy widget w drzewie w inspektora obiektów, użyj dwóch czarnych strzałek w prawym górnym rogu włożonego widżetu lub użyj menu kontekstowego włożonego widżetu. Aby poruszać się między stronami w skrypcie Pythona, musisz użyć QStackedWidget.setCurrentIndex().

2
Heike 29 październik 2020, 08:43