• 导入必要的PyQt5模块。
  • from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog
    import sys
    
  • 创建主窗口(QMainWindow),并添加一个按钮(QPushButton)。
  • class MainWindow(QMainWindow):
        def __init__(self):
            super().__init__()
            self.setGeometry(100, 100, 400, 300)
            self.button = QPushButton('点击打开新窗口', self)
            self.button.setGeometry(50, 50, 200, 50)
            self.button.clicked.connect(self.show_dialog)
    
  • 创建另一个窗口(QDialog)。
  • class Dialog(QDialog):
        def __init__(self):
            super().__init__()
            self.setGeometry(200, 200, 400, 300)
    
  • 在主窗口的按钮回调函数中实例化另一个窗口并显示出来。
  •     def show_dialog(self):
            dialog = Dialog()
            dialog.exec_()
    
  • 创建应用程序对象并启动。
  • if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = MainWindow()
        window.show()
        sys.exit(app.exec_())
    

    完整代码如下:

    from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton, QDialog
    import sys
    class MainWindow(QMainWindow):
        def __init__(self):
            super().__init__()
            self.setGeometry(100, 100, 400, 300)
            self.button = QPushButton('点击打开新窗口', self)
            self.button.setGeometry(50, 50, 200, 50)
            self.button.clicked.connect(self.show_dialog)
        def show_dialog(self):
            dialog = Dialog()
            dialog.exec_()
    class Dialog(QDialog):
        def __init__(self):
            super().__init__()
            self.setGeometry(200, 200, 400, 300)
    if __name__ == '__main__':
        app = QApplication(sys.argv)
        window = MainWindow()
        window.show()
        sys.exit(app.exec_())
    

    这样,当我们在主窗口中点击按钮时,就会弹出另一个窗口。

  • JavaScript
  •