当前位置:网站首页 > Haskell函数式编程 > 正文

富文本模式什么意思(富文本格式是什么文档格式)



参考文献:《Qt Creator 快速入门》第三版 霍亚飞编著

富文本(Rich Text)或者叫富文本格式,简单来说就是在文档中可以使用多种格式,比如字体颜色,图片和表格等。它是与纯文本(Plain Text)相对而言的。比如记事本就是纯文本编辑器,Word就是富文本编辑器。

Qt对富文本的处理分为编辑操作和只读操作两种方式。编辑操作使用基于光标的一些接口函数,只读操作使用基于文档框架的一些接口函数。文档的光标主要基于QTextCursor类,而文档的框架主要基于QTextFrame类。

一个富文本文档的结构分为分为几种元素来表示,分别是框架(QTextFrame)、文本块(QTextBlock)、表格(QTextTable)和列表(QTextList)。每种元素的格式又使用相应的format类来表示,分别是QTextFrameFormat、QTextBlockFormat、QTextTableFormat和QTextListFormat。

QTextEdit就是一个富文本编辑器,在构建QTextEdit对象时就已经构建了一个QTextDocument类对象和一个QTextCursor对象,只需要使用他们进行相应操作即可。

新建Qt Widgets应用,项目名为myrichtext,类名默认MainWindow,基类默认QMainWIndow。在设计模式向拖入一个TextEidt部件。然后到mainwindow。cpp文件中,在构造函数中添加以下代码

运行效果如下,

富文本框mysql设计什么类型 富文本框什么意思_富文本框mysql设计什么类型

继续添加下面代码,使用光标类对象,在框架中添加一个子框架

运行效果如下

富文本框mysql设计什么类型 富文本框什么意思_ui_02

文本块QTextBlock类为文本文档QTextDocument提供了一个文本片段(QTextFragment)的容器。文本块的格式由QTextBlockFormat类来处理,主要涉及对齐方式、四周边距、缩进等,而文本内容的格式由QTextCharFormat来设置,主要涉及字体大小、下划线、加粗等。

在mainwindow.h中添加私有槽声明

在mainwindow.cpp中添加以下代码

最后在槽函数 setTextFont实现中,使用QTextBlockFormat和QTextCharFormat设置格式,代码如下

运行效果如下

富文本框mysql设计什么类型 富文本框什么意思_富文本框mysql设计什么类型_03

直接上代码,在mainwindow.h中添加私有槽声明

在mainwindow.cpp文件的构造函数中创建3个动作并添加到工具栏中,将动作的点击与槽函数绑定,代码如下

实现槽函数如下

有代码可知表格使用QTextTableFormat和insetTablle,列表使用QTextListFormat和insertList,图片使用QTextImageFormat和insertImage。

代码运行效果如下

富文本框mysql设计什么类型 富文本框什么意思_ui_04

查找功能由QTextEdit的find函数实现,另外QTextEdit还提供了其他方便的函数,如复制、粘贴、撤销、恢复、放大、缩小等。

下面代码使用QTextEdit的find函数实现朝朝功能。(另外,也可以使用QTextDocument的find函数,功能更强大)。

在头文件中添加成员变量如下

继续在头文件中添加槽函数声明

  

在构造函数中创建查找对话框,往工具栏添加查找动作,代码如下

实现槽函数,代码如下

运行效果如下,这里要注意,默认从光标位置往后查找,要注意光标位置,如果光标已经在最后了,就会查找不到

富文本框mysql设计什么类型 富文本框什么意思_ui_05

Qt中提供了QSyntaxHighlighter类来实现语法高亮。要实现这个功能,需要创建QSyntaxHighlighter的子类,重新实现highlightBlock函数,使用时直接将QTextDocument类对象指针作为其父指针,这样可以自动调用highlightBlock函数。

添加新文件,模板选择C++ class,类名为MySyntaxHighlighter,继承自QSyntaxHighlighter类。更改mysyntaxhighlighter.h文件如下。

mysyntaxhighlighter.cpp文件如下

在 mainwindow.h中添加私有成员对象如下

在 mainwindow.cpp构造函数中添加以下代码

,运行程序输入“char”,查看效果如下图

富文本框mysql设计什么类型 富文本框什么意思_qt_06

关于Html,在 mainwindow.cpp构造函数中添加以下代码

运行程序查看效果如下图

富文本框mysql设计什么类型 富文本框什么意思_富文本框mysql设计什么类型_07

到此这篇富文本模式什么意思(富文本格式是什么文档格式)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • sigmoid函数怎么读(sigmrnd函数)2026-04-29 23:36:10
  • a标签打开新窗口方法(a标签如何设定页面打开方式)2026-04-29 23:36:10
  • 多级列表怎么自动编号(自定义多级列表编号格式)2026-04-29 23:36:10
  • 指数与对数的转换公式图片(指数与对数的转换公式图片怎么做)2026-04-29 23:36:10
  • sigmoid激活函数求导(sigmoid激活函数公式)2026-04-29 23:36:10
  • mysql窗口函数sum(mysql窗口函数是什么)2026-04-29 23:36:10
  • 支付方式图片(支付方式图片图标)2026-04-29 23:36:10
  • 软件后缀名怎么改(软件改后缀名改格式)2026-04-29 23:36:10
  • pivot函数excel(pivot函数中哪个不能省略)2026-04-29 23:36:10
  • 动态库(动态库的两种调用方式)2026-04-29 23:36:10
  • 全屏图片