QT 在主机默认PDF查看应用中打开PDF文档(如通过菜单栏打开使用手册)

QT 在主机默认PDF查看应用中打开PDF文档(如通过菜单栏打开使用手册)

前言

在软件制作完成后,我们都需要告诉用户如何使用软件,《使用手册》是一个非常必要的输出文件,能够让用户自行了解软件的使用方法。我观察到很多上位机会在菜单栏中加入打开使用手册的选项,可以直接通过点击打开使用手册,值得学习一下并用在自己的软件中。
下面是我在网上找到的一些方法

通过执行CMD命令打开

这个的话无疑会受到平台限制,Linux系统中应该就不能这样用了

QString currentPath = QCoreApplication::applicationDirPath(); //获取当前项目路径
QProcess p(0);
//使用CMD打开使用手册文件,文件放于执行程序同目录doc文件夹中
p.start("cmd", QStringList()<<"/C"<<QString("%1/doc/使用手册.pdf").arg(currentPath));
p.waitForStarted();
p.waitForFinished();

这种方法需要把手册放在特定的目录位置,如果用户把文件破坏了(比如移到了其他位置),那么就不能通过上位机操作来打开PDF了。
我们测试的时候就需要把文件放在构建完成的目录中
在这里插入图片描述
在这里插入图片描述

使用QDesktopServices类打开

要使用的话需要引入头文件<QDesktopServices>

QString currentPath = QCoreApplication::applicationDirPath(); //获取当前项目路径
QString filePath = QString("%1/doc/使用手册.pdf").arg(currentPath); //文件绝对路径
QDesktopServices::openUrl(QUrl::fromLocalFile(filePath));

这种方法也需要将文件放在特定的构建项目目录中,和上面一样

注意

这个打开PDF的方式使用电脑默认的打开PDF的应用,比如浏览器或者一些文档软件,看你设置的是什么

结尾

我们可以发现,这两种方法都存在同一个缺点,需要特定的项目文件架构,而且打包后还要手动把文件放到项目中,比较麻烦。不知道能不能通过添加资源文件,直接打开资源文件的方式来操作,而且资源文件打包的时候也会带上,不需要手动添加。有无大佬救救我。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1594231563

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值