当前位置: 首页 > news >正文

基于Qt6 + MuPDF在 Arm IMX6ULL运行的PDF浏览器(项目推介)

CCIMX Desktop 工程文档(PDF阅读器)

  • 项目地址:总项目Charliechen114514/CCIMXDesktop: This is a Qt Written Desktop with base GUI Utilities

  • 本子项目地址:CCIMXDesktop/extern_app/pdfReader at main · Charliechen114514/CCIMXDesktop

子项目跟总项目无耦合关系,你可以直接拿取项目对CMakeLists进行修改,项目整体遵守MIT开源协议,因此,请随意。

首先简单介绍一下这个子项目,本子项目是为了让IMX6ULL的开发板具备阅读PDF的能力的项目。基本上,这里的工程路径在现在您所看到的基本构成是——

├───mupdf_adapter
├───mupdf_tools
├───sources
├───ui
└───ui_tools

说明一下这里的结构。

mupdf_adapter是笔者自己做的跟Qt6一块的桥接器,目前主要包含的是三个部分的设计

  • PDF浏览控件ccpdfviewer,完全的负责了绘制MuPDF提供的图像资源。

  • PDF文档句柄ccpdfdocument,完全的负责和掌管了PDF的内存特性

  • PDF的文档章节解析ccpdfchaptercreator,完全的掌管了PDF的章节解析

mupdf_tools是驱动MuPDF真正做事情的地方,换而言之,mupdf_adapter将请求转发给了mupdf_tools下的所有的静态工具类,他们负责跟MuPDF底层的函数进行沟通,对于大部分想要了解如何封装MuPDF的朋友,这里是重点关心的地方。

sources只是一些Ui固化的资源文件,需要替换图标的朋友自行打开QtCreator自己修改即可

ui_tools则是一些Ui辅助的类,实际上包含的滑动SliderWidget等只是封装了一些传递信息的操作,这里笔者不再赘述,详细的讲解文章请到笔者的Charliechen114514/CCQtArchives: This Repo is using in Storing the Tutorial Of Some QtWidgets And QML, with portable libraries, common Applications and so on的Portable Modules部分单独拿取,那里会更新最新的控件,和修复一部分潜在的bugs

ui就是整体demo的一个设计文件了,这里是您所看到的整体样貌的代码实现,为此,修改上层的显示逻辑在这里做修改!

具体的设计在总项目的Documentations处笔者有介绍。一些相应的技术要点笔者也会放在那里进行讲解。

相关文章:

  • Leetcode-BFS问题
  • 微信小程序单双周选择排序有效果图
  • Django 项目的 models 目录中,__init__.py 文件的作用
  • PyTorch Lightning实战 - 训练 MNIST 数据集
  • 【Java学习】Lambda表达式
  • day 23
  • 嵌入式MCU和Linux开发哪个好?
  • 架构思维:通用架构模式_系统监控的设计
  • 《微机原理与接口技术》第 5 章 汇编语言程序设计
  • 解决LangChain4j报错HTTP/1.1 header parser received no bytes
  • OJ项目测试
  • C++类和对象--中阶
  • sql语句面经手撕(定制整理版)
  • 收集飞花令碎片——C语言分支与循环语句(上)
  • 如何避免 JavaScript 中常见的闭包陷阱?
  • Nginx stream模块是连接级别的负载均衡
  • 序列检测器
  • 【002】renPy android端启动流程分析
  • Docker从0到1:入门指南
  • 破解 Qt QProcess 在 Release 模式下的“卡死”之谜
  • 迪奥部分客户数据遭泄露,公司称正持续展开调查
  • 汉斯·季默:不会指挥的声音工程师终成音乐“大神”
  • 苏东坡:人生就是哈哈哈哈哈
  • 中国海外发展:今年前4个月销售665.8亿元,花费305亿元拿地
  • 体坛联播|郑钦文收获红土赛季首胜,国际乒联公布财报
  • 春秋航空:如果供应链持续改善、油价回落到合理水平,公司补充运力的需求将会增长