加载中…
个人资料
一去二三里
一去二三里
  • 博客等级:
  • 博客积分:0
  • 博客访问:2,839,904
  • 关注人气:909
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Qt之QDesktopServices

(2013-06-05 14:43:26)
标签:

qt

qdesktopservices

qprocess

qurl

it

分类: Qt

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

 

1、打开浏览器网页 

  QUrl url(QString("www.google.com"));
  bool is_open = QDesktopServices::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);

 

以上都经过验证,屡试不爽!


注:
    技术在于交流、沟通,转载请注明出处并保持作品的完整性。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有