Закрывает второе окно приложения сразу же после открытия

Открываю по нажатии кнопки второе окно, но оно сразу же закрывается.
В чем дело?

def form_settings_open(self):
        widget = QtWidgets.QMainWindow()
        widget.show()

Ответы (1 шт):

Автор решения: S. Nick

Дело в том, что widget это локальная переменная, которая удаляется сборщиком мусора. Продлите ей жизнь, сделайте ее атрибутом класса.

def form_settings_open(self):
    self.widget = QtWidgets.QMainWindow()
    self.widget.show()
→ Ссылка