当前位置: 首页 > 知识库问答 >
问题:

使用QProcess启动另一个exe并生成路径错误的文件

祁烨
2023-03-14

我最近遇到一个问题。 我使用QProcess类启动a.proce中的B.exea.pro的绝对路径是C:/qt/a/a.pro。 我使用windeployqtb.exe进行打包,并将打包文件夹放在c:/qt/a/b/b.exe中。

B.exe中,程序将生成一个名为test.json的文件。 test.json的路径与b.exe相同。 但我在a.pro中使用以下代码,test.json生成的路径与a.pro相同,但不在C:/qt/a/b文件夹中:

bool f=QProcess::StartDetached(“。/b/b.exe”);

行代码返回true。 我认为test.json应该在C:/qt/a/b文件夹中生成,而不是在C:/qt/a中生成。 当我双击b.exestandlone时,它可以正确生成。 但是当我在a.pro中使用上面的代码进行调试时,它的工作失败了,它只是创建了一个空文件。

你能帮我吗?

共有1个答案

章禄
2023-03-14

如果您查看QProcess::StartDetached,它的内容如下:

进程将在目录workingdirectory中启动。 如果workingDirectory为空,则从调用进程继承工作目录。

您需要为qprocess设置工作目录。 当您通过“双击”B.exe来运行它时。 您的操作系统从启动位置设置工作目录,即c:/qt/a/b。 但是当您从。exe启动它时,它的工作目录是C:/qt/a/

您可以在此处阅读有关QProcess::SetWorkingDirectory的内容。 但是,由于您正在使用QProcess::StartDetached重载运行它,因此只需将Wanded working directory作为参数传递:

bool f = QProcess::startDetached("./B/B.exe", QStringList(), "./B/");
 类似资料:
  • 本文向大家介绍python--shutil移动文件到另一个路径的操作,包括了python--shutil移动文件到另一个路径的操作的使用技巧和注意事项,需要的朋友参考一下 使用shutil.move(src, dst),src为要移动的文件的路径,dst为目的路径,路径必须是绝对路径 补充知识:使用shutil.copyfile遇到错误:[WinError 3] 系统找不到指定的路径 程序shut

  • 我想将输入XML转换为输出XML。同样,使用xslt进行XML转换。 输入xml和支持xml文件位于本地路径中(仅限同一路径)。 XSl和saxon9。jar位于服务器路径中。 将在本地路径中创建输出xml(与输入xml路径相同)。 使用xslt2.0我可以得到一个输入的xml值,但不能得到支持的xml值(存在于本地) d:\测试 下面是我的xsl用于从supporting.xml获取值 有人能帮

  • 我知道我必须把我的。exe放在启动菜单上,但我不能把我的整个应用程序放在启动菜单上,因为我只想显示生日细节,所以请给我一些建议,我可以在同一个C#应用程序中制作多个。exe吗?一个用于用户的使用目的,第二个用于通知用户当他/她启动PC。如果不止一个问题,是否可以自动移动启动文件夹(C:\users\admin\appdata\roaming\microsoft\windows\start menu

  • 我试着做一个*。使用pyqtgraph的python应用程序中的exe文件和使用pyinstaller的pyqt库。Pyinstaller生成单个*。exe文件没有错误,但当我尝试启动它时,我得到一个未找到pyqtgraph的错误。 如何构建单个*。使用pyinstaller的exe文件?

  • 我正在尝试生成完整的路径列表,而不是优化的。使用下面的示例可以更好地解释。 上面代码创建了一个带有边的图和和 我想要的只是从中提取所有路径。 我试过: 我想要的只是: 是否有任何来自的预先存在的方法可以使用?如果没有,有什么方法可以编写一个最优的方法来完成这项工作? 注意:我的问题仅限于给出的例子。再也不可能有拐角案件了。 注2:为简化起见,生成数据。在我的例子中,edges列表来自数据集。假设给

  • 使用下面的代码,如何在SQLiteConnetion对象中设置代码?

  • 问题内容: 我正在寻找Eclipse存储其启动配置的文件。我正在Ubuntu中进行一些Java开发。 我正在开发的一个可执行文件需要另一个可执行文件的输出作为其参数。可以这么说,“ B”的输出需要作为命令行参数传递给“ A”。在Eclipse中,我不想每次都手动更改“运行配置”。Eclipse将这些配置(尤其是参数)存储在哪里? 我在项目的extras文件夹中找到了“ eclipseArgumen

  • 我试图通过按cardview开始另一项活动,cardview有一个朋友查找id。但是当我写回家时。java它给了我setOnClickListener中的问题。在homeActivity中,它告诉我无法解析“homeActivity”中的方法“homeActivity”。因为