导入必要的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_())
这样,当我们在主窗口中点击按钮时,就会弹出另一个窗口。