Qt现实QTextEdit内容同步到QTextBrowaer中

Qt中如何实现Qtextedit控件的内容实时同步到Qtextbrowser中?

文本传递
QTextEdit
QTextBrowser

QTextBrowser类继承自QTextEdit,但从运行结果也能看出,光标无法打入QTextBrowser框里,即QTextBrowser里面的内容并不能进行更改,但是相对于QTextEdit来讲,具有链接文本的作用。
这里我们试着实现一个简单的编辑、预览模型。

效果如下图:
在这里插入图片描述
首先将创建两个控件创建出来并设置它们的大小和位置:

    QTextEdit *te=new QTextEdit(this);
    te->resize(100,200);
    QTextBrowser *tb=new QTextBrowser(this);
    tb->resize(100,200);
    tb->move(104,0);

然后使用信号和槽机制,当QTextEdit发出文本内容改变的信号时,QTextBrowser通过settext将QTextEdit的内容设置为,自己的文本内容:

    connect(te,&QTextEdit::textChanged,[=](){
        tb->setText(te->toPlainText());
    });  

这里使用lambda表达式做为响应文本内容改变的槽函数。
值得一提的是:QTextBrowser控件可以解析HTML代码。如:我们在QTextEdit中输入如下代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	<h1>我是标题1</h1>
</body>
</html>

便能得到这样的显示效果:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45046639/article/details/107894069