[PyQt5] 執行PyQt5後造成Jupyter Kernel Crash

透過Python的PyQt5在Window10中建立使用者介面的系統時,
已確認程式能順利執行,並跳出視窗。
然而,當按☓關掉視窗後,卻發生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


留言