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

本文介绍了如何使用PyQt5开发一个PDF阅读器,重点讲述了在阅读器中添加选项卡、实现QScrollArea的翻页和缩放功能。通过QTabWidget展示多个页面,利用QShortcut设置快捷键进行页面缩放和翻页。在MyArea类中,定义了初始化方法和相关操作,确保了PDF阅读的顺畅体验。
摘要由CSDN通过智能技术生成

上一篇文章中,我们实现了 PDF 阅读器的初始界面。这一次,新增了阅读功能,可以实现基本的翻页以及缩放等操作。不过,暂时只可以同时阅读一本书。

下图为效果图:

在这里插入图片描述

下面我来介绍下,这次主要新增的功能:

选项卡

QTabWidget 可以允许我们在一个窗口显示多个页面。对于书库的这个选项卡,页面显示为 self.table ,即初始界面

self.table(QTableWidget) -> self.tabwidget(QTabWidge)。

# 初始化选项卡
self.tabwidget = QTabWidget()
# 添加书库选项卡
self.tabwidget.addTab(self.table, '书库')
self.setCentralWidget(self.tabwidget)
# 设置选项卡可以关闭
self.tabwidget.setTabsClosable(True)
# 点击选项卡叉号时,执行 removeTabab 操作
self.tabwidget.tabCloseRequested[int].connect(self.remove_tab)

新建选项卡:每次开始阅读时,新建一个选项卡,名称为文件名。

def read_book(self, fname):
    # self.close()
    # 内存有可能泄露
    self.doc = fitz.open(fname)
    # metadata = doc.metadata
    title = fname.split('/' or '\\')[-1].replace('.pdf', '')

    vbox = self.book_area(self.doc.loadPage(0))
    self.book_add_ta
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值