進程通過QNetworkAccessManager 進行http請求。代碼如下:
但當(dāng)主進程開辟線程來執(zhí)行http請求時,卻無法成功。
此時會出現(xiàn)程序運行崩潰、沒有執(zhí)行http請求任務(wù)等情況。
簡單說一下注意事項:
1 線程中的run函數(shù)返回后線程即結(jié)束,根本無法等到reply的finished信號。因此需要加入QEventLoop來掛起線程。
2 通過connect設(shè)置信號槽,需要QObject的支持,因此在構(gòu)造函數(shù)里與頭文件中需要修改代碼。最終的修改代碼如下:
這樣,就可以對http進行請求了。
但在真正的執(zhí)行中,當(dāng)關(guān)閉界面程序時出現(xiàn)彈出框,提示:This application has requested the Runtime to terninate it in an unusual way.
原因還在查找中。