Qt之QDesktopServices

注:参考Qt大神一去二三里的博客

如果使用Qt开发界面,往往离不开QDesktopServices,QDesktopServices不仅可以打开本地浏览器,而且还可以打开本地文件(夹)等,可以获取桌面、我的文档、Home等目录。

使用前要加头文件

    #include  <QDesktopServices>

1、打开浏览器网页

QDesktopServices desktopServices;
QUrl url(QString("www.baidu.com"));
desktopServices.openUrl(url);

2、打开本地文件(夹)、可执行文件等

    QString local_path = QString("E:/新建文件夹"); //a.txt、a.exe、a.mp3、a.mp4、a.rmvb等
    QString path = QString("file:///") + local_path;
    bool is_open = QDesktopServices::openUrl(QUrl(path, QUrl::TolerantMode));  

注意:这里local_path可以是文件(夹)路径、可执行程序路径,当为文件时,会选择默认打开方式进行打开!

3、获取桌面、我的文档、Home等目录的路径

  QString desktop_path = QDesktopServices::storageLocation(QDesktopServices::DesktopLocation);
  QString document_path = QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation);
  QString home_path = QDesktopServices::storageLocation(QDesktopServices::HomeLocation);
  QString application_path = QDesktopServices::storageLocatio(QDesktopServices::ApplicationsLocation);
  QString temp_path = QDesktopServices::storageLocation(QDesktopServices::TempLocation);

在这里再罗嗦一点,QProcess也可以打开文件(夹)、可执行程序等

  QString local_path = QString("E:\\新建文件夹");
  bool is_start = QProcess::startDetached("explorer " + local_path);

本人项目中代码:Qt制作的PC软件中打开一个pdf或者word文档

    QDesktopServices desktopServices;
    QString strUrl = QApplication::applicationDirPath () ;
    strUrl = QString(QString::fromLocal8Bit("file:///%1/doc/readme.pdf")).arg (strUrl);
    QUrl url(strUrl);
    desktopServices.openUrl(url);
  • 6
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值