Comment exécuter la commande print lpr -p par programme via le privilège root dans Qt

Je souhaite exécuter la commande d’impression lpr -p par programme via le privilège root de Qt. En fait, je veux imprimer le fichier pdf en utilisant cette commande. Cette commande fonctionne via terminal mais pas par programmation.

Merci d’avance.

vous pouvez exécuter des commandes nécessitant le privilège root en lançant:

 echo myPass | sudo -S lpr -p 

Bien que ce ne soit pas une bonne idée de faire écho votre mot de passe dans un shell, vous pouvez le faire dans Qt via Qprocess comme:

 QProcess process1; QProcess process2; process1.setStandardOutputProcess(&process2); process1.start("echo myPass"); process2.start("sudo -S lpr -p"); process2.setProcessChannelMode(QProcess::ForwardedChannels); process2.waitForFinished(3000);