Timpeallacht seachfhreastalaí a thabhairt do leanbh QProcess
Socraigh an timpeallacht a chuirtear chuig leanbh Qt amháin agus na luachanna oidhreachta atá fós ag teastáil uaidh á gcaomhnú.
I gcás íoslódálaí a sheoltar trí QProcess, tóg timpeallacht an linbh sula seoltar é:
auto* download = new QProcess(parent);
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("https_proxy", "http://proxy.example:8080");
download->setProcessEnvironment(env);
download->start("curl", {"--head", "https://www.example.com/"});Glacann an píosa Qt seo le réad tuismitheora atá ann cheana, le lúb imeachtaí agus le curl atá ar fáil don leanbh. Coinnigh an QProcess beo fad a bhíonn sé ag rith, agus láimhseáil a chomharthaí críochnaithe agus earráide san fheidhmchlár. Don seiceáil seo ar shuíomh poiblí gan dintiúir seachfhreastalaí cumraithe, cuireann an liosta seachfhreastalaithe HTTP críochphointí HTTP iarrthacha ar fáil do luach seachfhreastalaí an linbh.
Má thosaítear le systemEnvironment, caomhnaítear luachanna oidhreachta ar nós PATH. Dá dtógfaí timpeallacht fholamh ar shlí eile agus dá gcuirfí athróg seachfhreastalaí amháin léi, fágfaí na hiontrálacha eile sin ar lár.
Is é ainm na hathróige an eochair. Is ordú blaoisce é export, ní cuid den eochair sin é agus ní inrite é a chaithfeadh QProcess a sheoladh ar dtús. Trí an timpeallacht a chur ar aghaidh go díreach seachnaítear freisin ordú blaoisce a thógáil timpeall an URL.
Baineann setProcessEnvironment leis an bpróiseas a sheoltar ina dhiaidh sin. Ní athraíonn sé timpeallacht linbh atá ag rith cheana ná timpeallacht an bhlaoisce a sheol an feidhmchlár Qt.
Caithfidh an t-íoslódálaí roghnaithe an athróg a thuiscint. Úsáideann an sampla seo https_proxy i litreacha beaga do iarratas HTTPS curl agus caomhnaíonn sé ionchuir sheachbhóthair oidhreachta. Féadfaidh comhéadan seachfhreastalaí eile a bheith ag clár leanbh eile.