qmarkdowntextedit:Qt 富功能 Markdown 文本编辑组件,支持高亮与语法扩展

A C++ Qt QPlainTextEdit widget with markdown highlighting support and a lot of other extras

分支3Tags1
文件最后提交记录最后更新时间
4 个月前
3 年前
1 个月前
4 个月前
2 年前
6 年前
4 个月前
1 年前
4 个月前
1 年前
4 个月前
8 个月前
5 个月前
5 个月前
4 个月前
4 个月前
4 个月前
4 个月前
5 个月前
8 个月前
8 个月前
8 个月前
4 年前
2 天前
2 天前
1 个月前
3 年前
1 个月前
4 年前
1 个月前
6 年前
3 天前
1 个月前
3 年前
10 年前
6 年前
1 个月前
1 个月前
1 个月前
1 个月前
1 个月前
3 年前

QMarkdownTextEdit

Build Status GitHub Actions Build Status Linux/OS X Build Status Windows

QMarkdownTextEdit 是一个 C++ Qt QPlainTextEdit 部件,支持 markdown 语法高亮及其他多项实用功能。

部件特性

  • Markdown 语法高亮
  • 代码语法高亮
  • 按住 Ctrl + 点击 可打开链接
  • 使用 TabShift + Tab 缩进段落
  • 使用 Ctrl + Alt + Down 复制文本
  • 使用 Ctrl + F 搜索文本
    • 使用 键在搜索结果间跳转
    • 使用 Escape 键关闭搜索框
  • 使用 Ctrl + R 替换文本
    • 支持使用正则表达式或全词匹配进行替换
  • 行号显示(Qt >= 5.5)
  • 运行速度极快
  • 以及更多功能……

支持的 Markdown 特性

在条件允许的情况下,我们力求符合 Commonmark 标准,但目前尚未完全兼容。以下是语法高亮器支持的特性/扩展列表。请注意,这只是一个纯文本编辑器,因此仅提供语法高亮功能,不会将 Markdown 渲染为 HTML。

特性 支持情况
粗体和斜体 支持
列表(无序列表/有序列表) 支持
链接和图片
(行内式/参考式/自动链接/电子邮件链接)
支持(暂不支持嵌套链接或复杂场景)
标题(ATX 式和 Setext 式) 支持
代码块(缩进式和围栏式)
支持反引号和波浪线两种围栏风格
支持(仅围栏式代码块提供语法高亮)
行内代码 支持
删除线 支持
下划线 支持(可选功能)
块引用 支持
表格 支持

截图

Screenhot

使用方法

有多种使用方式。您可以直接使用编辑器,也可以对其进行子类化,或者仅使用语法高亮器。

使用编辑器

QMake

  • qmarkdowntextedit.pri 包含到您的项目中,方法如下:include (qmarkdowntextedit/qmarkdowntextedit.pri)
  • 在您的 UI 中添加一个普通的 QPlainTextEdit,并将其提升为 QMarkdownTextEdit(基类为 QPlainTextEdit

CMake

  • CMakeLists.txt 包含到您的项目中,方法如下:add_subdirectory(qmarkdowntextedit)
  • 在您的 UI 中添加一个普通的 QPlainTextEdit,并将其提升为 QMarkdownTextEdit(基类为 QPlainTextEdit

仅使用语法高亮器

语法高亮器可与 QPlainTextEditQTextEdit 配合使用。示例:

auto doc = ui->plainTextEdit->document();
auto *highlighter = new MarkdownHighlighter(doc);

使用 QMarkdownTextEdit 的项目

免责声明

本 SOFTWARE PRODUCT 由 THE PROVIDER 按“原样”和“包含所有缺陷”提供。THE PROVIDER 不对本 SOFTWARE PRODUCT 的安全性、适用性、无病毒、准确性、排版错误或其他有害成分作出任何形式的陈述或保证。

使用任何软件都存在固有的风险,您有责任自行判断本 SOFTWARE PRODUCT 是否与您的设备以及设备上安装的其他软件兼容。您也有责任自行保护您的设备并备份数据,THE PROVIDER 不对您因使用、修改或分发本 SOFTWARE PRODUCT 而可能遭受的任何损害承担责任。

项目介绍

A C++ Qt QPlainTextEdit widget with markdown highlighting support and a lot of other extras

定制我的领域