PyQt5 从零开始制作 PDF 阅读器(一) 您所在的位置:网站首页 python制作txt阅读器 PyQt5 从零开始制作 PDF 阅读器(一)

PyQt5 从零开始制作 PDF 阅读器(一)

2024-01-10 09:17| 来源: 网络整理| 查看: 265

关注微信公众号 Python高效编程后台回复 2019324 来获取源代码

此前,我已经写了三篇关于 Ui 界面的文章,分别是:猜数游戏、计时器程序和天气查询软件。这次,我们使用 Python 实现 PDF 阅读器。

第一篇文章,主要介绍如何实现主界面,以及添加、删除图书封面,后续会不断完善程序功能。

效果图

在这里插入图片描述

UI 设计

首先使用 Qt Designer 设计出图形界面:

新建一个 MainWindow 主界面,然后设置一个 toolbar,并在 toolbar 中添加三个 action,并为每个 action 设置好相应图标。

也可以直接 compile 我制作好的 PyReader.ui 文件,或者导入 Ui_PyReader.py 文件。

在这里插入图片描述

依赖要求

Python3

PyQt5

PyMuPDF

主要任务

我们使用 PyMuPDF 来解析 PDF ,来获取 PDF 文本信息。

安装

我们只须在 cmd 中输入:pip install PyMuPDF,即可安装 PyMuPDF。

导入 # 导入 PyMuPDF import fitz

在本节中,我们只需了解以下几个基本操作:

fitz.open() 函数用来读取 PDF 文件内容,doc.loadPage() 函数用来获取具体某一页的信息。特别的 ,我们使用loadPage(0) 来获取封面信息。

# 读取 PDF doc = fitz.open(fname) # 获取第 n 页内容 page = doc.loadPage(n)

本节主要的内容就是把封面渲染到主界面中,并完成添加与删除封面的任务。

显示表格

我们采用 QtWidgets.QTableWidget 表格控件来显示封面。

首先让我们设置表格样式与功能:

其中,我们设置了单元格的纵横比为 4 : 3,以及其他的一些静态属性,并将 self.table 与右键菜单绑定,支持点击单元格调用 self.generateMenu 函数。

def _setTableStyle(self): # 开启水平与垂直滚轴 self.table.setVerticalScrollBarPolicy(Qt.ScrollBarAlwaysOn) self.table.setHorizontalScrollBarPolicy(Qt.ScrollBarAlwaysOn) # 设置 5 行 8 列 的表格 self.table.setColumnCount(8) self.table.setRowCount(5) # 设置标准宽度 self.width = self.screen.width() // 8 # 设置单元格的宽度 for i in range(8): self.table.setColumnWidth(i, self.width) # 设置单元格的高度 # 设置纵横比为 4 : 3 for i in range(5): self.table.setRowHeight


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有