【问题标题】:startDetached and Environment variablesstartDetached 和环境变量
【发布时间】:2014-04-22 11:05:27
【问题描述】:

我找到了这个主题:Set Environment Variables for startDetached() QProcess。其中解释了如何通过重载 startDetached() 函数来使用 Qt 4 解决环境变量。

我在使用 startDetached() 时遇到了同样的问题,这意味着我无法使用 setEnv() 为新生成的进程设置环境变量。

但是,我正在使用 Qt 4.8.5,并且该帖子现在已有 3 年多的历史了,现在有没有办法在 Qt 中使用 Qt 4.8.5 为分离的进程设置环境变量?

我有点卡住了,因为我不知道如何重载 qProcess 函数,如果可能的话我真的很想找到一个更简单的解决方案......

您有更简单的解决方案吗?或者你能解释一下如何应用重载吗?

【问题讨论】:

    标签: c++ qt qt4 environment-variables


    【解决方案1】:

    我认为您正在寻找的是QProcessEnvironment,它是一个生成环境变量的名称-值对以传递给QProcess 的类。

    您可以通过以下方式使用它:

    QProcessEnvironment environment = QProcessEnvironment::systenEnvironment();
    QProcess process;
    process.setProcessEnvironment(environment);
    

    注意:以上代码未经测试和编译,但应该与用例相当接近。

    【讨论】:

    • 你 100% 确定我可以使用 startDetached() 进程吗?例如,这里:stackoverflow.com/questions/21184986/… OP 修改了原始 Qt 代码以使其工作...
    • 是的,很确定。在那篇文章中,OP 正在尝试修改 path 变量。如果您的环境设置正确,则不需要这样做。我以前做过这个过程,而且很有效。如果不起作用,请回复评论,我们将共同制定解决方案。
    • 我试过这个:ideone.com/rF4bPuideone.com/9cAWaB,但它没有看到输出环境变量......但它说我的 var 没有找到......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-16
    • 2019-08-21
    • 2014-07-03
    • 2012-02-13
    • 2016-04-30
    • 2013-03-03
    相关资源
    最近更新 更多