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