All Projects → pbek → Qmarkdowntextedit

pbek / Qmarkdowntextedit

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

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Qmarkdowntextedit

Qcodeeditor
Qt Code Editor widget.
Stars: ✭ 136 (-25.27%)
Mutual labels:  qt, qt5, widget
Qt Advanced Docking System
Advanced Docking System for Qt
Stars: ✭ 422 (+131.87%)
Mutual labels:  qt, qt5, widget
Xi Qt
A Qt front-end for xi-editor. Experimental (WIP)
Stars: ✭ 85 (-53.3%)
Mutual labels:  text-editor, qt, qt5
Moneyguru
Future-aware personal finance application
Stars: ✭ 145 (-20.33%)
Mutual labels:  qt, qt5
Qt Color Widgets
Color wheel widget and dialog for Qt
Stars: ✭ 138 (-24.18%)
Mutual labels:  qt5, widget
Proton
A stand-alone application to quickly preview and edit Markdown files using Electron.
Stars: ✭ 140 (-23.08%)
Mutual labels:  markdown, text-editor
Feedback
Feedback & wiki for Snipaste https://snipaste.com
Stars: ✭ 1,863 (+923.63%)
Mutual labels:  qt, qt5
Sqlitestudio
A free, open source, multi-platform SQLite database manager.
Stars: ✭ 2,337 (+1184.07%)
Mutual labels:  qt, qt5
Gtkplatform
Run Qt applications using gtk+ as a windowing system.
Stars: ✭ 146 (-19.78%)
Mutual labels:  qt, qt5
Haruna
Open source video player built with Qt/QML and libmpv.
Stars: ✭ 147 (-19.23%)
Mutual labels:  qt, qt5
Shell
🐚 QtQuick and Wayland shell for convergence
Stars: ✭ 168 (-7.69%)
Mutual labels:  qt, qt5
Mini Cmake Qt
A minimal CMake template for Qt 5 & 6 projects
Stars: ✭ 156 (-14.29%)
Mutual labels:  qt, qt5
Qhexview
A versatile Hexadecimal widget for Qt5
Stars: ✭ 168 (-7.69%)
Mutual labels:  qt, qt5
Simple Mail
An SMTP library written in C++ for Qt. Allows applications to send emails (MIME with text, html, attachments, inline files, etc.) via SMTP. Supports SSL and SMTP authentication.
Stars: ✭ 134 (-26.37%)
Mutual labels:  qt, qt5
Qdarkstylesheet
A dark style sheet for QtWidgets application
Stars: ✭ 1,952 (+972.53%)
Mutual labels:  qt, qt5
Notepanda
📃 A simple cross-platform notepad. Based on Qt and C++.
Stars: ✭ 134 (-26.37%)
Mutual labels:  qt, qt5
Openauto
AndroidAuto headunit emulator
Stars: ✭ 1,926 (+958.24%)
Mutual labels:  qt, qt5
Apkstudio
Open-source, cross platform Qt based IDE for reverse-engineering Android application packages.
Stars: ✭ 2,246 (+1134.07%)
Mutual labels:  qt, qt5
Tabtoolbar
A small library for creating tabbed toolbars
Stars: ✭ 129 (-29.12%)
Mutual labels:  qt, widget
Versatile
A simple 3D model editor based on simple quads and a sprite set.
Stars: ✭ 132 (-27.47%)
Mutual labels:  qt, qt5

QMarkdownTextEdit

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

QMarkdownTextEdit is a C++ Qt QPlainTextEdit widget with markdown highlighting and some other goodies.

Widget Features

  • Markdown highlighting
  • Code syntax highlighting
  • Clickable links with Ctrl + Click
  • Block indent with Tab and Shift + Tab
  • Duplicate text with Ctrl + Alt + Down
  • Searching of text with Ctrl + F
    • Jump between search results with Up and Down
    • Close search field with Escape
  • Replacing of text with Ctrl + R
    • You can also replace text with regular expressions or whole words
  • Very fast
  • And much more...

Supported Markdown Features

Commonmark compliance is enforced where possible however we are not fully Commonmark compliant yet. Following is a list of features/extensions supported by the highlighter. Please note that this is just a plaintext editor and as such, it only does the highlighting and not rendering of the markdown to HTML.

Feature Availablity
Bolds and Italics Yes
Lists (Unordered/Orderered) Yes
Links and Images
(Inline/Reference/Autolinks/E-mail)
Yes (Cannot handle nested links or complex cases yet)
Heading (ATX and Setext) Yes
Codeblocks (indented and fenced)
Both backtick and tilde code fences are supported
Yes (Only fenced code block has syntax highlighting)
Inline code Yes
Strikethrough Yes
Underline Yes (Optional)
Blockquotes Yes
Table Yes

Screenshot

Screenhot

Usage

There are multiple ways to use this. You can use the editor directly, or you can subclass it or you can just use the highlighter.

Using the editor

  • Include qmarkdowntextedit.pri to your project like this include (qmarkdowntextedit/qmarkdowntextedit.pri)
  • add a normal QPlainTextEdit to your UI and promote it to QMarkdownTextEdit (base class QPlainTextEdit)

Using the highlighter only

Highlighter can work with both QPlainTextEdit and QTextEdit. Example:

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

Projects using QMarkdownTextEdit

Disclaimer

This SOFTWARE PRODUCT is provided by THE PROVIDER "as is" and "with all faults." THE PROVIDER makes no representations or warranties of any kind concerning the safety, suitability, lack of viruses, inaccuracies, typographical errors, or other harmful components of this SOFTWARE PRODUCT.

There are inherent dangers in the use of any software, and you are solely responsible for determining whether this SOFTWARE PRODUCT is compatible with your equipment and other software installed on your equipment. You are also solely responsible for the protection of your equipment and backup of your data, and THE PROVIDER will not be liable for any damages you may suffer in connection with using, modifying, or distributing this SOFTWARE PRODUCT.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].