Skip to content

Repository files navigation

浮读 QuietRead v0.4.2

浮读是一款 Windows 优先的轻量电子书阅读器。它把电子书正文放进类似“桌面歌词”的无边框悬浮窗:窗口可以置顶、拖动和缩放,鼠标移出后会快速淡到接近透明,重新移入原区域即可恢复。

当前仓库包含可直接运行和打包的 v0.4.2,而不是仅供展示的界面原型。

浮读默认悬浮窗预览

支持范围

格式 当前支持
TXT UTF-8、UTF-16、GB18030、Big5,并自动识别常见章节标题
PDF 提取文档文字层,按页生成导航目录
EPUB 按书脊顺序提取无 DRM EPUB 的章节正文和目录

运行环境:Windows 10/11,Python 3.10 或更高版本。

快速开始

在项目根目录执行:

.\scripts\setup.ps1
.\scripts\run.ps1

首次运行会在项目目录创建 .venv,并安装 PySide6、PyMuPDF、EbookLib 和 BeautifulSoup。

直接打开一本电子书:

.\scripts\run.ps1 "D:\Books\示例.epub"

本次启动不自动继续上次阅读:

.\scripts\run.ps1 --no-auto-open

查看当前版本:

.\scripts\run.ps1 --version

也可以在书架点击“添加电子书”,或者将一个 PDF、TXT、EPUB 文件拖入窗口。

当前功能

书架首页

  • 保存最多 50 本最近阅读记录,展示格式和阅读进度
  • 点击书籍卡片继续阅读
  • 按书名、格式或文件路径搜索
  • 支持置顶和移除书架记录;移除记录不会删除原文件
  • 原文件移动后可重新定位,并继承阅读进度和书签
  • 超长书名最多显示两行,不会撑宽或溢出窗口
  • 搜索框使用拼音等输入法时暂停自动淡出,输入结束后恢复原行为

悬浮阅读

  • 无标题栏、自由拖动、四边与四角缩放、默认窗口置顶
  • 阅读页左上角返回书架,右上角提供设置和退出悬浮按钮
  • 鼠标滚轮、键盘翻页和小步滚动
  • 字号、行距和背景透明度实时调整
  • 沉浸阅读、便签、代码注释、终端输出、普通提示五种主题
  • 鼠标移出后延迟淡出,重新移入后平滑恢复
  • 目录筛选和全文搜索输入期间保持窗口可见
  • 可选鼠标穿透模式,并可通过全局快捷键或托盘恢复
  • 双击正文区域可在紧凑高度和展开高度之间切换
  • 阅读区、书架页和书架卡片均不响应右键菜单

导航与大文档

  • TXT 章节、PDF 页目录、EPUB 章节目录与快速跳转
  • 主题联动的无边框导航面板,集中提供目录、全文搜索和书签
  • 全文搜索在后台运行;新查询或文档切换会取消旧任务
  • 书签和每本书的阅读位置独立保存
  • 超过 150 万字符的文档只向阅读控件加载约 32 万字符的可见窗口,目录、搜索、书签和进度仍使用全文位置
  • PDF 和 EPUB 在后台解析;连续打开文件时以最后一次请求为准

Windows 集成与数据安全

  • 系统级快捷键在焦点位于其他软件时仍可控制阅读器
  • 单实例运行:重复启动会激活已有窗口,并转发待打开的电子书
  • 系统托盘支持恢复窗口、打开文件和退出
  • 窗口位置会自动校正到可见屏幕范围,并支持一键重置
  • 设置、窗口位置、阅读进度和书签均保存在本机
  • 设置和进度使用原子写入,降低异常退出造成数据损坏的风险

本地数据位于:

%APPDATA%\QuietRead\
├─ settings.json
├─ progress.json
└─ quietread.log

浮读不会上传电子书内容。

界面操作

  • 拖动正文空白区域:移动窗口
  • 拖动窗口四边或四角:调整窗口尺寸
  • Ctrl+左键拖动:选择正文文字
  • 双击正文区域:切换紧凑高度和展开高度
  • Ctrl+滚轮:调整字号
  • Alt+滚轮:调整背景透明度
  • 阅读页和书架页的设置按钮:打开主题化设置面板
  • 设置面板包含图书、阅读、窗口和帮助四页

快捷键

Windows 系统级

作用 快捷键
显示 / 隐藏;鼠标穿透时恢复交互 Ctrl+Alt+Space
上一页 / 下一页 Ctrl+Alt+PgUp / Ctrl+Alt+PgDn
向上 / 向下小步滚动 Ctrl+Alt+↑ / Ctrl+Alt+↓
降低 / 提高背景不透明度 Ctrl+Alt+← / Ctrl+Alt+→
重置窗口位置与尺寸 Ctrl+Alt+Home
退出浮读 Ctrl+Q

窗口内

作用 快捷键
打开电子书 Ctrl+O
上一页 / 下一页 Page Up / Page Down
上一页 / 下一页 Shift+Space / Space
向上 / 向下小步滚动 /
目录与导航 Ctrl+K
全文搜索 Ctrl+F
添加当前位置书签 Ctrl+B
查看书签 Ctrl+Shift+B
增大 / 减小字号 Ctrl++ / Ctrl+-
降低 / 提高背景不透明度 Alt+← / Alt+→
重置窗口位置与尺寸 Ctrl+Shift+Home
立即淡出 Esc
查看快捷键帮助 F1
退出浮读 Ctrl+Q

如果系统级组合已被其他程序占用,浮读不会抢占它;按 F1 可以查看注册失败的快捷键。

开发、测试与打包

运行完整测试:

.\scripts\test.ps1

当前测试集包含 43 项自动化测试,覆盖格式解析、书架、长书名、导航、后台任务、书签和进度存储、单实例、窗口缩放、输入法防淡出以及主要 UI 交互。

构建 Windows 免安装目录版:

.\scripts\build.ps1

产物位于:

dist\QuietRead\QuietRead.exe

打包版不要求目标电脑预装 Python。构建后可以针对不同格式分别执行解析冒烟检查:

.\dist\QuietRead\QuietRead.exe "D:\Books\示例.txt" --smoke-test
.\dist\QuietRead\QuietRead.exe "D:\Books\示例.pdf" --smoke-test
.\dist\QuietRead\QuietRead.exe "D:\Books\示例.epub" --smoke-test

项目结构

src\quietread\
├─ app.py                 应用入口、托盘和系统快捷键
├─ reader_window.py       主窗口与阅读会话协调
├─ reader_view.py         正文交互、拖动和缩放
├─ library_view.py        书架首页与书籍卡片
├─ settings_dialog.py     四页设置面板
├─ navigation_dialog.py   目录、搜索和书签
├─ document_window.py     大文档分段视图与位置映射
├─ loaders.py             TXT、PDF、EPUB 解析
├─ tasks.py               后台解析和搜索任务
├─ storage.py             设置、进度和书签持久化
├─ hotkeys.py             Windows 系统级快捷键
└─ single_instance.py     单实例与启动请求转发

完整产品与技术方案见 docs/PRODUCT_SPEC.md,版本变化见 CHANGELOG.md

当前边界

  • PDF 只读取文字层,不复刻原始排版、图片或批注;扫描 PDF 尚不支持 OCR。
  • 加密 PDF 需要先移除密码。
  • EPUB 以连续纯文本方式阅读,不保留复杂排版和图片,也不绕过 DRM。
  • 当前首页不提供文件夹批量扫描;请使用“添加电子书”或单文件拖放。
  • Windows 已完成系统级快捷键和打包验证;其他平台尚未完成发布级适配与验证。
  • 当前定位是低干扰连续阅读,不替代专业 PDF 标注器或大型电子书库管理器。

后续方向

v0.5 计划重点包括 PDF 原页 / 纯文本双模式、可选本地 OCR、脚注和图片处理、字体与段落排版设置,以及快捷键自定义和冲突检测。

License

MIT

About

A lightweight, frameless floating ebook reader for Windows, inspired by desktop lyric overlays. Supports PDF, EPUB, and TXT.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages