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

时间:2017-03-01 08:14:21

标签: python python-3.x pyqt pyqt5 qt-signals

以下是我点击按钮的代码:

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

但是点击“运行”后,它只是反复打印“启动程序”,GUI窗口不会消失:

screenshot

如何让按钮打印一次并继续使用该程序?

我正在使用PyQt5和Python 3.4.0

1 个答案:

答案 0 :(得分:0)

假设QPushButton位于主窗口小部件内(在示例QWidget中),要关闭窗口,我们使用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_())