Eman QProcess ume bati bere proxy ingurunea
Konfiguratu Qt ume bakarrari pasatzen zaion ingurunea, oraindik behar dituen heredatutako balioak gordez.
QProcess bidez abiarazitako deskargatzaile batentzat, eraiki umearen ingurunea abiarazi aurretik:
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/"});Qt zati honek badagoen guraso objektu bat, gertaeren begizta bat eta umearentzat eskuragarri dagoen curl suposatzen ditu. Mantendu QProcess bizirik martxan dagoen bitartean, eta kudeatu bere amaiera eta errore seinaleak aplikazioan. Proxy kredentzialik gabe egiten den webgune publikoaren egiaztapen honetarako, HTTP proxyen zerrendatik HTTP amaierako puntu hautagaiak eskaintzen dira umearen proxy baliorako.
systemEnvironment-ekin hasten bada, PATH bezalako heredatutako balioak gordetzen dira. Bestela hutsik dagoen ingurune bat eraikitzeak eta proxy aldagai bat gehitzeak beste sarrera horiek baztertuko lituzke.
Aldagaiaren izena da gakoa. export shell komando bat da, ez da gako horren parte eta ez da QProcess-ek lehenengo abiarazi beharreko exekutagarri bat. Ingurunea zuzenean pasatzeak URLaren inguruan shell komando bat eraikitzea ere saihesten du.
setProcessEnvironment geroago abiarazten den prozesuari aplikatzen zaio. Ez du aldatzen jada martxan dagoen ume baten ingurunea ezta Qt aplikazioa abiarazi zuen shellarena ere.
Aukeratutako deskargatzaileak aldagaia ulertu behar du. Adibide honek https_proxy minuskulaz erabiltzen du curl-en HTTPS eskaerarako, eta heredatutako saihesteko sarrerak gordetzen ditu. Beste ume programa batek beste proxy interfaze bat izan dezake.