说明
在我们的客户端软件中,有时候存在演示或帮助视频,软件本身又不想去实现视频播放界面,这种情况下我们就可以使用QDesktopServices类去调用系统的默认播放器播放视频。
同理,pdf、word、网址等都可以使用该方法打开。
1 打开视频
包含头文件:
#include <QDesktopServices>
运行代码:
QString strPath = "./"+tr("演示视频.mp4");
bool bRet = QDesktopServices::openUrl(QUrl::fromLocalFile(strPath));
if(!bRet)
{
MyMessageBox::showInformation(nullptr, tr("操作视频打开失败!"), QMessageBox::Ok, QMessageBox::Ok);
return;
}
2 打开pdf
QString strPath = "./"+tr("XXX说明书.pdf");
bool bRet = QDesktopServices::openUrl(QUrl::fromLocalFile(strPath));
if(!bRet)
{
MyMessageBox::showInformation(nullptr, tr("说明书打开失败!"), QMessageBox::Ok, QMessageBox::Ok);
return;
}
3 打开浏览器访问网站
bool bRet = QDesktopServices::openUrl(QUrl(QString("www.baidu.com")));
4 打开文件夹
QString path = QString("file:///") + QString("D:/被打开的文件夹");
bool is_open = QDesktopServices::openUrl(QUrl(path, QUrl::TolerantMode));
5 获取系统相关路径
最后该类还可以获取系统相关路径,但是看了源代码,发现这里的函数已经被QT_DEPRECATED_SINCE条件编译,即表示弃用(放在其他地方实现),源代码如下图所示。