Qt(PyQt) 显示 Markdown

本文介绍了如何在Qt和PyQt中利用QTextBrowser显示Markdown内容,通过调用toHtml()函数实现Markdown到HTML的转换,展示了一个简单的实时显示Markdown结果的编辑器示例,并提供了相关代码片段和效果截图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入

Markdown是一种轻量级标记语言,Qt 是支持 Html 的显示,那么支持 Markdown 吗?答案当然是支持

效果图:
在这里插入图片描述

如何实现

注:Qt 是指 C++ Qt,PyQt 就是指 PyQt
在 Qt 和 PyQt 中的 QTextBrowserQTextEdit等控件都有一个函数:

ui->XXX->setMarkdown("XXX");  // Qt
XXX.setMarkdown("XXX");  # PyQt

那么能不能用呢?当然是可以的,下面是一个示例:
就先以下面的 Markdown 为例:

**Hello** *World*~~!~~ 

Qt:

#include <QApplication>
#include <QMainWindow>
#include <QTextBrowser>
#include <QLabel>
int main(int argc, char *argv[])
{
   
    QApplication a(argc, argv);
    QMainWindow *w = new QMainWindow();
    QTextBrowser *br = new QTextBrowser(w);
    br->setMarkdown("**Hello** *World*~~!~~ ");
    w->show();
    return a.exec();
}

在这里插入图片描述
PyQt:

import sys
import PyQt5.QtWidgets as QtWidgets

app = QtWidgets.QApplication(sys.argv)
widget = QtWidgets.QWidget()
br = QtWidgets.QTextBrowser(widget)
br.setMarkdown("**Hello** *World*~~!~~")
widget.show()
sys.exit(app.exec_())

在这里插入图片描述
所以 Qt 是支持 Markdown

示例:一个实时显示 Markdown 结果的编辑器

注意:未完成打开、保存、另存为等高级功能,只有实时显示的功能

Qt

main.cpp
#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
   
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
   
    ui->setupUi(this);/*
    ui->textBrowser->setMarkdown("```python\n"
                                 "import os\n"
                                 "```\n"
                                 "**b**\n");*/
}

MainWindow::~MainWindow()
{
   
    delete ui;
}

void MainWindow::on_textEdit_textChanged()
{
   
    if (ui->comboBox->currentIndex()==0){
   
        ui->textBrowser_2->setMarkdown(ui->textEdit->toPlainText());
        return;
    }
    ui->textBrowser_2->setHtml(ui->textEdit->toPlainText());
}

void
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gfdgd xi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值