Seite 1 von 1

close() funktion nur einmal abrufbar ?

Verfasst: Dienstag 25. Oktober 2022, 18:41
von Kolbon
Hallo in die Runde,

ich wollte über einen Button eine neues Window öffnen und gleichzeitig das alte Window schließen. über .close() funktioniert das ganze nur ein einziges mal. Beim Wechsel zurück in ebendieses funktioniert es nicht.
Das ganze soll Quasi ein Menü über Buttons Darstellen über das man in den Fenstern hin und her wechseln kann.

ich rufe das Fenster über eine Main Datei auf

Code: Alles auswählen

from PySide6.QtWidgets import *  # PySide6 muss instaliert werden
from Gui1.profil_window import Ui_MainWindow  # localer Pfad

class MainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self, *args, **kwargs):
        super(MainWindow, self).__init__(*args, **kwargs)
        self.setup(self)
        
app = QApplication()
frm_main = MainWindow()
frm_main.show()
app.exec()
in der Profil_window sind beide Windows enthalten und die verschiedenen Fenster öffnen und schließe ich über folgende Funktion

Code: Alles auswählen

    def open_second_window(self): # Funktion zum Öffnen des zweiten Fensters und Schließen des profil_windows
        self.window=QtWidgets.QMainWindow()
        self.ui=Ui_SecondWindow()
        self.ui.setup(self.window) # zweites Fenster wird eingerichtet
        self.window.show()
        self.close() # profil_window wird geschlossen


Wie gesagt Funktioniert das ganze nur einmal beim ersten wechsel in das zweite fenster. Danach kommt der Fehler
'Ui_SecondWindow' object has no attribute 'close'

Wenn noch mehr Code benötigt wird kann ich das auch noch gerne nachreichen.

Vielen Dank schonmal und einen Schönen Abend
Adrian

Re: close() funktion nur einmal abrufbar ?

Verfasst: Mittwoch 26. Oktober 2022, 10:27
von Sirius3
Du scheinst zu versuchen auf einem generierten UI-Objekt die close-Methode aufzurufen, das existiert aber nur bei den QWindows-Klassen.
UI-Dateien sollte man sowieso nicht in Python-Code umwandeln, sondern per UiLoader direkt laden.

Re: close() funktion nur einmal abrufbar ?

Verfasst: Mittwoch 26. Oktober 2022, 12:34
von __blackjack__
@Kolbon: Fenster die sich abwechselnd öffnen und schliessen klingt IMHO nicht gut. Da muss man dann ja erst einmal immer suchen wo die Fensterverwaltung das andere Fenster geöffnet hat. Was ist denn der Grund dafür zwei Fenster auf diese Weise zu handhaben?