2017-03-01 105 views
0

這裏是我的點擊按鈕的代碼之後:PyQt5:如何讓一個按鈕關閉該GUI點擊

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

但是在我點擊「運行」,它只是打印一次又一次的「啓動程序」,和GUI窗口並沒有消失:

screenshot

我怎樣才能使按鈕打印一次,用程序去?

我使用PyQt5和Python 3.4.0

+0

這是很難從這個片段中看出來。你能否提供一個能夠再現不良行爲的最小工作示例? – mFoxRU

+0

@mFoxRU http://prntscr.com/eek8ws這裏是我的意思是... gui窗口不會消失... –

+0

調用'close()'方法的主窗口 – mFoxRU

回答

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_()) 
+0

喲男人sys.ext(app.exec())做什麼?並感謝您的幫助:) –