• 2072阅读
  • 8回复

[提问]请教一下使用Qt打开外部程序的问题 [复制链接]

上一主题 下一主题
离线clickto
 

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


离线liulin188

只看该作者 1楼 发表于: 2020-04-24
用QDesktopServices试试
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线clickto

只看该作者 2楼 发表于: 2020-04-25
同样的结果。不排除外部程序的相关功能可能有一些隐患,但是单独运行外部程序就没问题。
离线maxlogo

只看该作者 3楼 发表于: 2020-04-25
需要先cd到那个程序的目录再启动
个人博客:
简书:https://www.jianshu.com/u/14fa805306bd
CSDN:https://blog.csdn.net/qq10097355
思否:https://segmentfault.com/u/lowbees/articles
离线liulin188

只看该作者 4楼 发表于: 2020-04-26
回 clickto 的帖子
clickto:同样的结果。不排除外部程序的相关功能可能有一些隐患,但是单独运行外部程序就没问题。 (2020-04-25 12:08)

如果用QDesktopServices都不行,肯定是被调用程序的问题。
考虑下楼上说所的,路径什么的因素!!!
https://wiki.qt.io/Qt_5.12_Release
https://wiki.qt.io/New_Features_in_Qt_5.12
https://wiki.qt.io/Qt_5.12.0_Known_Issues
https://www.qt.io/blog/qt-5.13.2-released
https://www.qt.io/blog/qt-creator-4.10.2-released
https://wiki.qt.io/Qt_5.12_Tools_and_Versions
离线clickto

只看该作者 5楼 发表于: 2020-04-26
是的,被调用程序是由问题,替换那个功能模块就不会出问题。
我现在的疑惑是,问什么有问题的模块,被调用程序单独运行就微笑概率有问题,而通过Qt调用就会百分之百的出问题?只是起一个进程而已啊
离线flyer_2001

只看该作者 6楼 发表于: 2020-04-29
如楼上所说,基本可能是路径问题,或者有第三方库或文件找不到。设置改程序的路径为启动路径试试
离线dbzhang800

只看该作者 7楼 发表于: 2020-04-29
重点排查:

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


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

只看该作者 8楼 发表于: 2020-04-29
使用的是相对路径,Qt程序和调用程序放在同一个路径下。
快速回复
限100 字节
 
上一个 下一个