當我在PyQt中關閉應用程序窗口時,控制檯仍然在後臺運行,並且python.exe進程存在,直到關閉控制檯。我認爲sys.exit(app.exec_())
無法正常運行。PyQt線程在窗口關閉後仍然運行
Mainscript(這將打開Firstwindow):
if __name__ == '__main__':
from firstwindow import main
main()
Firstwindow
按下按鈕:
self.close() #close firstprogram
Start() #function to open mainprogram
開始():
def Start():
global MainWindow
MainWindow = QtWidgets.QMainWindow()
ui = genui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
的main()(建議here):
def main_window():
return form
def main():
global form
app = QtWidgets.QApplication(sys.argv)
form = MyApp()
form.show()
app.exec_()
sys.exit(app.exec_())
爲什麼你連續兩次啓動應用程序?第二次調用'exec _()'時,它只會坐在那裏什麼也不做,因爲你已經關閉了主窗口,所以你將無法與之交互。擺脫第一個'app.exec _()'行。 – ekhumoro
@ekhumoro這樣做的伎倆,你可以發佈它作爲一個答案。不過,我想知道我第二次打電話給exec的時候,因爲我不理解它。是不是exec告訴qt的引擎來處理程序的運行,然後我把exec放在sys.exit中告訴腳本在Qt這麼說的時候退出? – Prof