pyqt5 でサブウィンドウだけを閉じるボタンを作りたい


python3.5を使っています。pyqt5を用いてサブウィンドウにサブウィンドウだけを閉じるボタンを作りたいです。下のようなコードを書いてみましたが、サブウィンドウの「OK」というボタンを押したらメインウィンドウも一緒に閉じてしまいます。

[code]

    import sys
    from PyQt5.QtWidgets import *
    from PyQt5.QtGui import *
    from PyQt5.QtCore import *
    
    
    class MainWindow(QWidget):
        def __init__(self):
            super().__init__()
    
            makeWindowButton = QPushButton("make window",self)
            makeWindowButton.move(150,50)
            makeWindowButton.clicked.connect(self.makeWindow)
    
            """
            self.label = QLabel(self)
            self.label.move(150,25)
            self.label.setText("default:")
            """
    
    
            self.setWindowTitle('ボタンで画像表示')
            self.setGeometry(300, 300, 400, 100)
    
    
        def makeWindow(self):
            subWindow = SubWindow(self)
            subWindow.show()
        """
        # サブウィンドウから実行
        def setParam(self, param):
            self.label.setText(param)
        """
    
    class SubWindow:
        def __init__(self, parent=None):
            self.w = QDialog(parent)
            self.parent = parent
            """
            label = QLabel()
            label.setText('Sub Window')
    
            self.edit = QLineEdit()
    
            button = QPushButton('送信')
            button.clicked.connect(self.setParamOriginal)
            """
    
            label=QLabel()
            label.setPixmap(QPixmap('gazo.jpg'))
    
            button=QPushButton('OK')
            button.clicked.connect(QCoreApplication.instance().quit)
    
            layout = QVBoxLayout()
            layout.addWidget(label)
            layout.addWidget(button)
    
            self.w.setLayout(layout)
    
    
        def show(self):
            self.w.exec_()
    
    if __name__ == '__main__':
    
        app = QApplication(sys.argv)
        main_window = MainWindow()
    
        main_window.show()
        sys.exit(app.exec_())
    
[/code]




メインウィンドウも一緒に閉じてしまうのは、ボタンのクリックにアプリケーションの終了（`QCoreApplication.instance().quit`）が紐付けられているからです。  
これを、当該ウィンドウのクローズに紐付ければそのウィンドウだけ閉じます。

[code]

    button.clicked.connect(self.w.close)
    
[/code]




メインウィンドウも一緒に閉じてしまうのは、ボタンのクリックにアプリケーションの終了（`QCoreApplication.instance().quit`）が紐付けられているからです。  
これを、当該ウィンドウのクローズに紐付ければそのウィンドウだけ閉じます。

[code]

    button.clicked.connect(self.w.close)
    
[/code]

