快速解決pyqt5窗體關(guān)閉后子線程不同時退出的問題
用pyqt5設(shè)計了一個主窗體,在窗體運行時需要把一個無限循環(huán)放在一個線程去工作。運行后,發(fā)現(xiàn)通過鼠標按主窗體的關(guān)閉按鍵關(guān)閉主創(chuàng)體后,線程不會自動終止,依然在運行。盡管對我的使用場景來說,這不是問題,因為立馬就關(guān)機了。但在調(diào)試階段就恨繁,因為后臺線程很占資源。怎么能讓主窗體關(guān)閉是子線程也退出呢?百度了許久,很多方法都不行。
主要試過的有:
1、設(shè)置:self.thread.Daemon=True
2、在子線程設(shè)置一個變量,通過改變變量的值使循環(huán)不滿足條件,自動結(jié)束
3、設(shè)置析構(gòu)函數(shù)
還有別的奇葩。都不行。
今天發(fā)現(xiàn),其實很簡單。就是重構(gòu)主窗體的closeEvent()函數(shù)。
def closeEvent(self,event): sys.exit(app.exec_())
本來在主程序里是有這條的,估計按X推出主窗體時并沒有出發(fā)這條代碼,所以子線程就不會結(jié)束。重構(gòu)了這個函數(shù),問題解決。
以上這篇快速解決pyqt5窗體關(guān)閉后子線程不同時退出的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用pyscript在網(wǎng)頁中撰寫Python程式的方法
本文主要介紹了使用pyscript在網(wǎng)頁中撰寫Python程式的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2022-05-05python中copy()與deepcopy()的區(qū)別小結(jié)
接觸python有一段時間了,一直沒有系統(tǒng)的學習過,也對copy,deepcoy傻傻的分不清,故抽出時間來理一下。 下面這篇文章主要給大家介紹了關(guān)于python中copy()與deepcopy()的區(qū)別的相關(guān)資料,需要的朋友可以參考下2018-08-08Python實現(xiàn)Windows上氣泡提醒效果的方法
這篇文章主要介紹了Python實現(xiàn)Windows上氣泡提醒效果的方法,涉及Python針對windows窗口操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06CentOS 7如何實現(xiàn)定時執(zhí)行python腳本
這篇文章主要介紹了CentOS 7如何實現(xiàn)定時執(zhí)行python腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-06-06Python 實現(xiàn)一個簡單的web服務(wù)器
這篇文章主要介紹了Python 實現(xiàn)一個簡單的web服務(wù)器的方法,幫助大家更好的理解和學習python,感興趣的朋友可以了解下2021-01-01Python實現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運算式的示例
下面小編就為大家?guī)硪黄狿ython實現(xiàn)1-9數(shù)組形成的結(jié)果為100的所有運算式的示例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11Python實現(xiàn)創(chuàng)建詞云的示例詳解
詞云一般是根據(jù)輸入的大量詞語生成的,如果某個詞語出現(xiàn)的次數(shù)越多,那么相應(yīng)的大小就會越大,本文將利用wordcloud模塊實現(xiàn)詞云生成,需要的可以參考下2023-10-10完美解決TensorFlow和Keras大數(shù)據(jù)量內(nèi)存溢出的問題
這篇文章主要介紹了完美解決TensorFlow和Keras大數(shù)據(jù)量內(nèi)存溢出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07