查看完整版本: [-- 请教一下使用Qt打开外部程序的问题 --]

QTCN开发网 -> Qt基础编程 -> 请教一下使用Qt打开外部程序的问题 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

clickto 2020-04-24 20:31

请教一下使用Qt打开外部程序的问题

Qt版本是5.11,运行平台是win7
有一个外部程序,单独运行的时候没有问题。外部程序是vc2008编写的。
现在通过QProcess的start启动外部程序,然后外部程序在执行某些操作的时候会自行关闭。
反复验证都是这样,请问可能会是什么问题?



liulin188 2020-04-24 22:25
用QDesktopServices试试

clickto 2020-04-25 12:08
同样的结果。不排除外部程序的相关功能可能有一些隐患,但是单独运行外部程序就没问题。

maxlogo 2020-04-25 17:28
需要先cd到那个程序的目录再启动

liulin188 2020-04-26 00:17
clickto:同样的结果。不排除外部程序的相关功能可能有一些隐患,但是单独运行外部程序就没问题。 (2020-04-25 12:08)

如果用QDesktopServices都不行,肯定是被调用程序的问题。
考虑下楼上说所的,路径什么的因素!!!

clickto 2020-04-26 10:21
是的,被调用程序是由问题,替换那个功能模块就不会出问题。
我现在的疑惑是,问什么有问题的模块,被调用程序单独运行就微笑概率有问题,而通过Qt调用就会百分之百的出问题?只是起一个进程而已啊

flyer_2001 2020-04-29 09:15
如楼上所说,基本可能是路径问题,或者有第三方库或文件找不到。设置改程序的路径为启动路径试试

dbzhang800 2020-04-29 10:15
重点排查:

用Qt启动时,你的WD路径设置的是什么?(如果没设置,你Qt程序的WD使用的什么路径?)
void QProcess::setWorkingDirectory(const QString &dir)


单独运行时(无论 双击exe,双击快捷方式,通过VS或启动IDE启动,通过cmd等控制台启动), 你是否清楚各种启动方式下,你使用的WD,以及各种启动方式时WD的影响因素或设置方式。

clickto 2020-04-29 21:17
使用的是相对路径,Qt程序和调用程序放在同一个路径下。


查看完整版本: [-- 请教一下使用Qt打开外部程序的问题 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled