• 7771阅读
  • 9回复

Qt中有没有类似ShellExecute功能的函数 [复制链接]

上一主题 下一主题
离线马侬骑士
 

只看楼主 倒序阅读 楼主  发表于: 2016-06-22
希望在qt程序中用默认程序直接连接打开文件,请问Qt中有没有类似ShellExecute功能的函数
离线zhoulin487

只看该作者 1楼 发表于: 2016-06-22
QProcess可以试一下
离线马侬骑士

只看该作者 2楼 发表于: 2016-06-22
回 zhoulin487 的帖子
zhoulin487:QProcess可以试一下 (2016-06-22 22:51) 

感觉不是很理想吧,这样的话感觉方法是:用QProcess是要先调用cmd.exe,然后在直接输入参数文件路径家加文件?
离线风之羽

只看该作者 3楼 发表于: 2016-06-23
使用QDesktopServices::openUrl(QString)是否可以?
离线spark253649

只看该作者 4楼 发表于: 2016-06-23

bool
startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory = QString(), qint64 *pid = Q_NULLPTR)

但是这个没有提权,还是老实用你自己的办法吧
业精于勤荒于嬉!
离线uidab

只看该作者 5楼 发表于: 2016-06-23
回 马侬骑士 的帖子
马侬骑士:感觉不是很理想吧,这样的话感觉方法是:用QProcess是要先调用cmd.exe,然后在直接输入参数文件路径家加文件? (2016-06-22 23:11) 

你是在windows下吗?为什么要先cmd??
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线马侬骑士

只看该作者 6楼 发表于: 2016-06-23
回 风之羽 的帖子
风之羽:使用QDesktopServices::openUrl(QString)是否可以? (2016-06-23 09:13) 

这个可以,很好用,谢谢
离线马侬骑士

只看该作者 7楼 发表于: 2016-06-23
回 uidab 的帖子
uidab:你是在windows下吗?为什么要先cmd?? (2016-06-23 12:07) 

主要是用cmd命令,直接输入文件路径加文件名就可以打开,不需要命令行,就猜想是调用cmd.exe ,再输入命令!直接用Qprocess,直接输入文件路径不能直接打开文件。
实验是两种方法都不行!
离线马侬骑士

只看该作者 8楼 发表于: 2016-06-23
回 spark253649 的帖子
spark253649:bool
startDetached(const QString &program, const QStringList &arguments, const QString &workingDirectory = QString(), qint64 *pid = Q_NULLPTR)
但是这个没有提权,还是老实用你自己的办法吧 (2016-06-23 10:51) 

谢谢,感觉QDesktopServices::openUrl(QString)方法比较好,简单直接调用了默认程序打开文件
离线XChinux

只看该作者 9楼 发表于: 2016-06-23
QProcess启动可执行程序。
QDesktopServices::openUrl()使用系统默认程序打开指定文件。
比如QDesktopServices::openUrl(QUrl::fromLocalFile("d:/xxxxx/file.txt")就会用记事本打开文本文件.
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个