持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
📒博客首页:何名取 的个人主页 - 文章 - 掘金 (juejin.cn)
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
❤️期待一起交流!
🙏作者水平很有限,如果发现错误,求告知,多谢!
🌺有问题可私信交流!!!
面向自己开发
面向自己的软件开发日记,目标是为自己开发一款具有PDF阅读功能的刷题软件或者说一款具有刷题功能的PDF阅读软件。名字我已经取好了,就叫PDF学习宝。
前言
前一阵子我在准备中级软考的时候一边看着PDF电子书教程,一边拿着手机刷题,题库里的题大部分都是书上的原话或者某一个知识点。当时就在想怎么没有一个工具软件,一半的区域显示PDF电子书一半区域显示对应知识点的题目,这样刷题的效率高很多啊。
于是,这几天就想着自己用Qt做一个这样的软件。小何我这是面向自己编程,哈哈。
在之后的一段时间里,我会利用业余时间来进行软件开发并且将开发过程和代码以文章的形式发布出来,希望大家可以持续关注,欢迎提出宝贵意见。
功能
一款具有PDF阅读功能的刷题软件或者说一款具有刷题功能的PDF阅读软件。
功能有:书库/题库管理、PDF阅读、题库编辑、题库显示等。
创建工程时的注意点
Projects选择
我使用的开发环境是Qt Creator,版本是Qt6.3。点击 文件 > New Project,创建新工程,这里选择的是Qt Widgets Application。
Widgets已经有很久的历史了,主要用于PC端。另一个选择它的原因是之后就会用到的Qt PDF模块。Qt6.3自带TP(预览)版的Qt PDF模块,无需像Qt5.15和Qt6.2版本的PDF模块需要复杂的编译环境和步骤,而且6.3版本的PDF模块是独立于QWebEngine模块的。
类选择
这里选择QWidget,不勾选Generate form。默认的Base cases是QMainWindow,是自带标题栏、状态栏的,后面会自定义标题栏和对页面进行美化,所以选用QWidget。不勾选Generate form就意味着需要自己用代码来来创建窗口界面。
套件选择
在选择构建套件这一项中只选择MSVC2019 64bit版本,这是因为Qt PDF模块只支持MSVC编译器。因此,这款软件是无法跨平台的,只能在WIN PC端上运行。
进行以上一些步骤的选择后就完成了工程的创建,文件结构如下:
在代码中使用Qt PDF模块
想要使用Qt PDF模块,需要在.pro文件中添加:
QT += pdfwidgets
并且在widget.h头文件中添加:
#include <QtPdf>
#include <QPdfView>
class QPdfDocument;
class QPdfView;
添加完成后即可使用Qt PDF模块了。