帮助文档查看器是很多程序中必备要素,而利用Qt中的QTreeView组件可以很方便的查看文件,而QTextBrowser可以直接显示格式化的MarkDown文本。因此可以利用这两个组件制作一个帮助文件查看器。
本程序的文件结构如下:

.
├── main.py
└── ui└── docViewer.ui
└── docs --这里放帮助文档├── a.md├── b.md└── c.md

如果使用命令

conda install matplotlib

会自动一起安装上pyqt 5.12 和 pyqtchart 5.12
但是qt 5.12 的文字查看器并没有显示Markdown或Html的功能。
需要用命令升级一下

pip install --upgrade pyqt5

运行界面

Python代码

from PyQt5.QtWidgets import QApplication,QWidget,QFileSystemModel
from PyQt5.uic import loadUi
from PyQt5.QtGui import QFontimport sys
import osclass Doc_Viewer(QWidget):def __init__(self,parent=None) -> None:super().__init__(parent)#加载UI文件loadUi('./ui/docViewer.ui',self)self.__initUi()def __initUi(self):'''初始化运行逻辑'''#建立文件模型self.fileModel = QFileSystemModel()#设置模型根目录pathIndex=self.fileModel.setRootPath(os.path.abspath("./docs/"))print(self.fileModel.rootPath())#绑定视图与模型self.treeView.setModel(self.fileModel)#视图根目录文件模型根目录要一致self.treeView.setRootIndex(pathIndex)#这里隐藏了文件的信息展示for i in [1,2,3]:self.treeView.setColumnHidden(i, True)#建立左侧树视图与右侧文本查看器的连接self.treeView.clicked.connect(self.loadDoc)def loadDoc(self,QpathIndex):'''加载文件'''filepath=  self.fileModel.filePath(QpathIndex)print(f"选择了文件【{filepath}】" )if os.path.isfile(filepath):# 读取文件内容markdown=open(filepath,mode="r",encoding="utf-8").read()# 加入到浏览框self.textBrowser.setMarkdown(markdown)if __name__=="__main__":app = QApplication(sys.argv)app.setFont(QFont("黑体",12))w = Doc_Viewer()w.show()sys.exit(app.exec())

UI文件

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"><class>Form</class><widget class="QWidget" name="Form"><property name="geometry"><rect><x>0</x><y>0</y><width>857</width><height>920</height></rect></property><property name="windowTitle"><string>Form</string></property><layout class="QHBoxLayout" name="horizontalLayout"><item><widget class="QTreeView" name="treeView"><property name="sizePolicy"><sizepolicy hsizetype="Fixed" vsizetype="Expanding"><horstretch>100</horstretch><verstretch>0</verstretch></sizepolicy></property></widget></item><item><widget class="QTextBrowser" name="textBrowser"><property name="documentTitle"><string/></property><property name="readOnly"><bool>true</bool></property></widget></item></layout></widget><resources/><connections/>
</ui>

PyQt5 制作帮助文档查看器相关推荐

  1. linux 如何查看终端格式,你应该还不知道,Linux终端下的 Markdown 文档查看器

    原标题:你应该还不知道,Linux终端下的 Markdown 文档查看器 现在,Markdown 差不多已经成为技术文档的标准.它可以实现技术文档的快捷写作,以及输出发布.同样都是标记语言,但Mark ...

  2. 在线文档查看器:Gleamtech Document Viewer 6.6.1

    DocumentUltimate Document Viewer and Converter for ASP.NET Core, MVC 和 WebForms 查看几乎任何文档类型(70 多种文件格式 ...

  3. 干净简便的HTML5文档查看器——GroupDocs.Viewer

    GroupDocs.Viewer是一个在线文档查看器,不管是否安装了创建某个文档的软件,GroupDocs.Viewer都允许使用浏览器查看这个文档.GroupDocs.Viewer支持查看多种文件文 ...

  4. 文档查看器PrizmDoc Viewer v13.13发布:多个修订及更新

    PrizmDoc是最快速.最有品质的HTML5文档查看器,提供安全的.全定制化的查看和协作功能.它通过一个简单部署的机制减少成本,降低安全风险和提高生产率.同时,它是基于服务器的查看器,消除了不必要的 ...

  5. 2D/3D文档查看器ABViewer发布v12,大大提高PDF转DWG的速度丨附下载

    2019独角兽企业重金招聘Python工程师标准>>> ABViewer是一款高质量的2D/3D文档查看器,可提供专业的浏览.编辑和转换功能,支持30多种光栅和矢量图形格式,其中包括 ...

  6. 2D/3D文档查看器ABViewer v12大大提高了PDF转DWG的速度

    ABViewer是一款高质量的2D/3D文档查看器,可提供专业的浏览.编辑和转换功能,支持30多种光栅和矢量图形格式,其中包括AutoCAD DWG, DXF, DWF, Hewlett-Packar ...

  7. ubuntu14.04默认的PDF文档查看器Evince

    ubuntu14.04已经安装好了,需要查看PDF文档,尝试用gedit命令发现失败不行. 进入PDF文档所在的位置,右键发现竟然有个"e"标志的文档查看器可用,试过发现,速度很快 ...

  8. 文档查看器(Open XML)格式工具

    先运行文档查看器,然后再菜单上点击打开文件: 打开文档之后界面显示: 左侧面板是文档的内部结构,中间是各个部件的属性值(控制文档的字体,显示颜色等格式),右侧是左侧面板中节点的内容. 下图是文档用of ...

  9. 18离线帮助文档_VIM学习笔记 Zeavim离线文档查看器

    Zeal是开源的跨平台软件,用于离线浏览各种开发文档.Zeal使用Dash提供的文档集(Docsets),涵盖近200种开发语言. Zeavim插件,可以在Vim中调用Zeal来查看离线文档. 安装配 ...

最新文章

  1. sqlserver常用函数点滴记录
  2. Linq专题之提高编码效率—— 第一篇 Aggregate方法
  3. CSS 修饰图片的5种方法
  4. easyui根据select下拉框内容更新表单内容_Ant Design 4.0 的一些杂事儿 - Select 篇
  5. 【2019牛客暑期多校训练营(第二场)- E】MAZE(线段树优化dp,dp转矩阵乘法,线段树维护矩阵乘法)
  6. 【OpenCV学习】cvConvert的使用
  7. 给 kibana 增加一个退出logout按钮
  8. 职业生涯(一)——你就是自己想要成为的那个人!
  9. 【语音处理】基于matlab GUI语音信号处理与滤波【含Matlab源码 1663期】
  10. 集成应用|契约锁与100+管理软件实现集成应用
  11. 表格闪退怎么解决_win10中excel2013闪退怎么修复_win10中excel2013闪退如何解决
  12. 如何在excel中取消合并单元格并填充?
  13. 通过优启通制作U盘启动安装Windows系统
  14. Spring Boot电商项目54:订单模块三:【前台:订单详情】接口;
  15. Php 领域驱动 视频,.Net DDD 领域驱动学习视频教程
  16. [爱情智慧]女性提出分手的十六大原因
  17. 树莓派基础之嵌入式开发概述
  18. MySQL数据库修改名称的三种方法
  19. python day02
  20. ISO26262 功能安全(1)--概览学习

热门文章

  1. Mac 上使用 SAS 的 2 种方法
  2. 什么是FD.IO/VPP?
  3. upload-labs文件上传漏洞(Pass-01~Pass-21)
  4. Linux下查找归档的内容
  5. python提升篇(五) -----实例练习第04day
  6. 关于Echarts折线图双Y轴网格的一些配置
  7. 手持振弦传感器VH03读数仪测读仪频率仪地质灾害土木工程自动化监测
  8. 深度学习中的depthwise convolution,pointwise convolution,SeparableConv2D深度可分离卷积
  9. eclipsepython插件_Eclipse安装配置PyDev插件
  10. python做马尔科夫模型预测法_通过Python的Networkx和Sklearn来介绍隐性马尔科夫模型...