我目前正在使用 QT4.8 制作一个 GUI,它基本上需要启动一个控制台应用程序。但是,因为这个控制台应用程序试图获取一些环境变量,我似乎无法让它工作。我显然正在使用 QProcess 并尝试了几种解决方案:
process->start("./yarpbridge", QStringList() << "--from" << "tmp.ini");
此解决方案不会生成控制台窗口,此外,通过将输出重定向到qDebug()
,它会打印与缺少环境变量相对应的错误。
process->start("gnome-terminal", QStringList() << "-e" << "zsh" << "-c" << "\"./yarpbridge --from tmp.ini"\");
此解决方案确实启动了一个控制台窗口,但它仍然显示错误消息,因为在打开控制台窗口时可能没有咨询 .zshrc。
您是否有一个解决方案可以让我这样做,甚至更好的是不仅适用于“gnome-terminal”和“zsh”用户?
非常感谢,