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

    @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 класс.
    Ответ написан
    Комментировать
  • Как изменить шрифт в PyQt5?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Установка шрифта:
    some_label.setFont(QtGui.QFont("Times", 8, QtGui.QFont.Bold))

    а для того, чтобы весь текст в метку влез, необходимо скоректировать её размер под изменившийся размер содержимого:
    some_label.adjustSize()
    Ответ написан
    1 комментарий