[Qt] Qt调用外部程序 [2013-08-12更新]

在Qt中调用外部程序时,如果遇到路径问题导致无法访问资源,可以采取使用绝对路径、合并程序执行目录或拷贝资源到主程序目录的方法。同时,了解C语言的缓冲机制对获取程序标准输出至关重要,例如使用fflush刷新缓冲区。QProcess提供非阻塞和阻塞方式调用外部程序,结合信号槽进行错误处理和结果接收。
摘要由CSDN通过智能技术生成
- 注意事项

假设有程序A、程序B和数据库D。B使用了数据库D(调用时使用了相对路径)且与D在同一目录下。
直接运行B时,能够正确访问数据库D,而当由A调用B时,B启动后却无法正常访问数据库D。出现这个问题的原因是被A调用的B相当于在A的目录下执行,即在A的同一目录下,B无法找到D。

要避免出现上述的问题有以下3个方法:
1. 在B中对数据库的访问使用绝对路径
2. 把A、B两个程序的执行目录合并(对于上述例子来说就是把A、B、D三个文件置于同一目录)
3. 把数据库D拷贝到A的同一目录下
推荐采用方法2,合并后的目录可作为一个整体,移动到任意目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值