透過Python的PyQt5在Window10中建立使用者介面的系統時,
已確認程式能順利執行,並跳出視窗。
然而,當按☓關掉視窗後,卻發生kernel dead這類狀況。
這類的狀況不只出現在Jupyter,也出現在Spyder。
參考資料中對這個問題解釋是
似乎是視窗被關閉時,
被設定為QApplication的app還保留先前的物件在記憶體中,這造成了kernel crash。
因次隨便指定一個數值給app,就可以避免kernel crash
我不是很理解下面參考資料中的解釋(若可以的話再煩請網路上的專業人士說明)
總之照這個方式修改後,kernel crash的問題就解決了。
已確認程式能順利執行,並跳出視窗。
然而,當按☓關掉視窗後,卻發生kernel dead這類狀況。
這類的狀況不只出現在Jupyter,也出現在Spyder。
參考資料中對這個問題解釋是
似乎是視窗被關閉時,
被設定為QApplication的app還保留先前的物件在記憶體中,這造成了kernel crash。
因次隨便指定一個數值給app,就可以避免kernel crash
我不是很理解下面參考資料中的解釋(若可以的話再煩請網路上的專業人士說明)
總之照這個方式修改後,kernel crash的問題就解決了。
原本的程式碼:
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
改善後的程式碼
app = 0 #新增這一行
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
參考資料:
解決方法
Python Kernel crashes after closing an PyQt4 Gui Application
[Solved] Kernel crashing when closing gui Spyder, WinPy, 3.5, PyQt4
PyQt5 Code參考
First programs in PyQt5
留言
張貼留言