我找到了这个主题:Set Environment Variables for startDetached() QProcess。这解释了如何通过重载startDetached()函数来解决Qt 4的环境变量。
我遇到了与startDetached()相同的问题,这意味着我无法使用setEnv()为我新生成的进程设置环境变量。
但是,我正在使用Qt 4.8.5并且帖子现在已经超过3年了,有没有办法在Qt 4.8.5中为Qt中的分离进程设置环境变量?
我有点卡住,因为我不知道如何重载qProcess函数,如果可能的话我真的想找到一个更简单的解决方案......
您有更简单的解决方案吗?或者你能解释一下如何应用超载的吗?
答案 0 :(得分:0)
我认为您正在寻找的是QProcessEnvironment,这是一个生成环境变量的名称 - 值对以传递给QProcess
的类。
您可以通过以下方式使用它:
QProcessEnvironment environment = QProcessEnvironment::systenEnvironment();
QProcess process;
process.setProcessEnvironment(environment);
注意:上面的代码是未经测试和未编译的,但应该非常接近用例。