@Xasthul

Как из одного окна, при нажатии на кнопку, открыть другое окно ( PyQt5 )?

При нажатии на кнопку в первом окне, нужно сделать чтобы первое окно закрывалось, а второе открывалось. Помогите пожалуйста.
  • Вопрос задан
  • 21157 просмотров
Решения вопроса 1
@khrisanfov
Программист
Вот пример. Все слоты уже есть, свои создавать не нужно. Смотри документацию по Qt.
#!/usr/bin/env python3

import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget, QPushButton


class Window1(QWidget):
    def __init__(self):
        super(Window1, self).__init__()
        self.setWindowTitle('Window1')
        self.setMinimumWidth(200)
        self.setMinimumHeight(50)
        self.button = QPushButton(self)
        self.button.setText('Ok')
        self.button.show()


class Window2(QWidget):
    def __init__(self):
        super(Window2, self).__init__()
        self.setWindowTitle('Window2')


class MainWindow(QMainWindow):
    def __init__(self):
        super(MainWindow, self).__init__()
        self.setWindowTitle('MainWindow')

    def show_window_1(self):
        self.w1 = Window1()
        self.w1.button.clicked.connect(self.show_window_2)
        self.w1.button.clicked.connect(self.w1.close)
        self.w1.show()

    def show_window_2(self):
        self.w2 = Window2()
        self.w2.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    w.show_window_1()
    sys.exit(app.exec_())

Интерфейс лучше рисовать в QtCreator. Потом с помощью pyuic5 конвертировать в Python класс.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы