我想打开一个pdf文件,只需双击QListWidget的一个元素即可。 我创建了一个批处理文件来打开Acrobat Reader(reader.bat),但我想要一个特定的pdf文件:
void MainWindow::on_FileListWidget_itemDoubleClicked(QListWidgetItem *item)
{
QFile SelectedModel(Current_Path + "/Template/" + item->text());
QString FileName;
FileName = (Current_Path + "/Template/" + item->text());
::system("e:\\reader.bat");
}
1)我不知道从QFile或QString可以更好的是从QListWidget中识别和选择文件; 2)我不知道如何将文件添加到命令中打开Acorbat Reader(在显示的行中我可以打开程序但不能打开我的文件)。 有什么想法吗?
答案 0 :(得分:10)
您可以使用Qt本机方法通过调用
来实现此行为QDesktopServices::openUrl(QUrl::fromLocalFile("someFilePath"));
请参阅QUrl::fromLocalFile()和QDesktopServices::openUrl()
(请参阅this帖子)
答案 1 :(得分:2)
看看这个:http://qt-project.org/doc/qt-5/qdesktopservices.html#openUrl
QDesktopServices::openUrl(QUrl("file://path/to/file"));
这不仅需要使用默认应用程序打开文件(如果使用file://
方案),还会使用默认浏览器打开Web URL(如果http://
或{使用{1}}方案)或者在https://
方案的情况下使用默认电子邮件客户端打开它。它也适用于mailto://
,steam://
等其他方案。