В PyQT5 можно создать функцию для закрытия основного окна и открытия нового окна, следуя следующим шагам:
Шаг 1: Импортировать необходимые модули
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QMessageBox from PyQt5.QtCore import Qt
Шаг 2: Создать класс для основного окна, наследующийся от класса QMainWindow
class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Основное окно") self.button = QPushButton("Открыть новое окно", self) self.button.clicked.connect(self.open_new_window) self.setCentralWidget(self.button) def open_new_window(self): new_window = NewWindow() self.close() new_window.show()
Шаг 3: Создать класс для нового окна, наследующийся от класса QMainWindow
class NewWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle("Новое окно") self.button = QPushButton("Закрыть окно", self) self.button.clicked.connect(self.close) self.setCentralWidget(self.button)
Шаг 4: Создать экземпляр класса QApplication и главного окна, а затем запустить приложение
if __name__ == "__main__": app = QApplication([]) main_window = MainWindow() main_window.show() app.exec_()
В этом коде мы создаем два класса - MainWindow (Основное окно) и NewWindow (Новое окно). В основном окне мы создаем кнопку, которая при нажатии вызывает функцию open_new_window
, которая закрывает основное окно и открывает новое окно. В новом окне также создается кнопка, которая вызывает функцию close
, чтобы закрыть новое окно.
Вы можете указать нужные заголовки окон, разместить их виджеты и настроить имеющиеся элементы в соответствии со своими требованиями.