用pyqt5設(shè)計(jì)了一個(gè)主窗體,在窗體運(yùn)行時(shí)需要把一個(gè)無限循環(huán)放在一個(gè)線程去工作。運(yùn)行后,發(fā)現(xiàn)通過鼠標(biāo)按主窗體的關(guān)閉按鍵關(guān)閉主創(chuàng)體后,線程不會(huì)自動(dòng)終止,依然在運(yùn)行。盡管對(duì)我的使用場(chǎng)景來說,這不是問題,因?yàn)榱ⅠR就關(guān)機(jī)了。但在調(diào)試階段就恨繁,因?yàn)楹笈_(tái)線程很占資源。怎么能讓主窗體關(guān)閉是子線程也退出呢?百度了許久,很多方法都不行。
10年積累的成都網(wǎng)站建設(shè)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有齊河免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。主要試過的有:
1、設(shè)置:self.thread.Daemon=True
2、在子線程設(shè)置一個(gè)變量,通過改變變量的值使循環(huán)不滿足條件,自動(dòng)結(jié)束
3、設(shè)置析構(gòu)函數(shù)
還有別的奇葩。都不行。
今天發(fā)現(xiàn),其實(shí)很簡單。就是重構(gòu)主窗體的closeEvent()函數(shù)。
def closeEvent(self,event): sys.exit(app.exec_())
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。