PyQt5:如何使按钮在单击后关闭 gui

PyQt5 : How to make a button close the gui after clicking

这是我的点击按钮代码:

run_btn=QtWidgets.QPushButton("Run")
def main():
    print ('Starting Program')
run_btn.clicked.connect(main)

但是在我点击"Run"之后,它只是一次又一次地打印"Starting Program",而且GUIwindow并没有消失:

如何让按钮打印一次并继续执行程序?

我正在使用 PyQt5 和 Python 3.4.0

假设 QPushButton 在主小部件内(在示例 QWidget 中),要关闭 window 我们使用 close()

from PyQt5 import QtWidgets
import sys

app = QtWidgets.QApplication(sys.argv)
w = QtWidgets.QWidget()

line1_edit = QtWidgets.QLineEdit()
line2_edit = QtWidgets.QLineEdit()

run_btn=QtWidgets.QPushButton("Run")
def main():
    print ('Starting Program')
    w.close()

run_btn.clicked.connect(main)

layout = QtWidgets.QVBoxLayout()
layout.addWidget(line1_edit)
layout.addWidget(line2_edit)
layout.addWidget(run_btn)
w.setLayout(layout)
w.show()
sys.exit(app.exec_())