Qt 富文字處理(01) 大綱

2021-10-09 19:30:57 字數 3277 閱讀 6669

qt的富文字處理使用了scribe框架,提供一組用於讀取和操作結構化富文字文件(rtf)的類。 與以前的qt支援富文字不同,新類圍繞qtextdocument類而不是原始文字資訊。 這使開發人員無需建立中間標記格式的內容就可以建立和修改結構化的rtf文件。

qt 使用qtextdocument 類來儲存rtf,使用 qtextcursor 類來編輯rtf,

qt中對富文字的處理分為編輯操作和唯讀操作兩種方式 :

補充說明:

scribe框架 : 用於web平台的富文字編輯器框架。

各種富文字/ html編輯器和框架比較

富文字處理分為多個部分,便於參考:

qt 提供了用於分析、呈現操作和編輯富文字的類集合。 類

說明相關類

qfont

指定用於繪製文字的字型的查詢

qsyntaxhighlighter

允許您定義語法突出顯示規則,此外,您可以使用 類查詢文件的當前格式或使用者資料

qtextlength

封裝 qtextdocument 中使用的不同型別的長度

qtextoption

常規富文字屬性的描述

富文字編輯或顯示的控制項

qplaintextedit

用於編輯和顯示純文字的小工具

qtextbrowser

包含超文字導航的富文字瀏覽器

qtextedit

用於編輯和顯示純文字和富文字的小工具

文字文件和文字游標

qtextdocument

保留格式化的文字

qtextcursor

提供用於訪問和修改 qtextdocuments 的 api

元素和格式的基類

qtextobject

不同型別的物件的基類,這些物件可以將 qtext 文件的某些部分分組在一起,元素父類

qtextformat

qtext 文件的格式資訊,元素格式父類

框架部分

qtextframe

表示 qtextdocument 中的框架

qtextframe::iterator

用於讀取 qtextframe 內容的器

qtextframeformat

qtextdocument 中框架的格式資訊

文字塊部分

qtextblock

qtextdocument 中文字片段的容器

qtextblock::iterator

qtextblock::iterator 類提供了乙個用於讀取 qtextblock 內容的讀取器

qtextblockformat

qtextdocument 中文字塊的格式資訊

qtextblockgroup

qtextdocument 中文字塊的容器

qtextblockuserdata

用於將自定義資料與文字塊關聯

**部分

qtexttable

表示 qtext 文件中的表

qtexttableformat

qtextdocument 中表的格式資訊

qtexttablecell

表示 qtexttable 中單元格的屬性

qtexttablecellformat

qtextdocument 中表單元格的格式資訊

列表部分

qtextlist

qtextdocument 中專案的修飾列表

qtextlistformat

qtextdocument 中列表的格式資訊

文字片段部分

qtextfragment

使用單個 qtextcharformat 在 qtext 文件中儲存一段文字

qtextcharformat

qtextdocument 中字元的格式資訊

影象

qtextimageformat

在 qtextdocument 中格式化影象的資訊

布局部分

qabstracttextdocumentlayout

用於實現 qtextdocuments 自定義布局的抽象基類

qtextinlineobject

表示 qabstracttextdocumentlayout 及其實現中的內聯物件

qplaintextdocumentlayout

實現 qtextdocument 的純文字布局

控制項布局

qtextlayout

用於布局和呈現文字

qtextline

表示 qtextlayout 中的一行文字

文件輔助類

qtextdocumentfragment

表示 qtextdocument 的一段格式化文字

qtextdocumentwriter

用於將 qtext 文件寫入檔案或其他裝置的與格式無關的介面

qtextdocument 官方範例:

code editor example :建立具有行號並突出顯示當前行的簡單編輯器

syntax highlighter example :語法高亮的例子

text edit example:類似於word編輯器的例子

calendar example :利用富文字編輯器的方式實現日曆

order form example :根據一些的引數設定生成報表,其實和上面的原理一樣

text finder example :文字查詢

text object example :將svg檔案插入qtextdocument。

qt 使用qtextdocument 類來儲存rtf,使用 qtextcursor 類來編輯rtf,qtextedit、qplaintextedit、qtextbrowser是個顯示部件,本身只有一些簡單的編輯介面,但是也是基於了qtextdocument的儲存 和基於qtextcursor操作的操作。

官方文件 rich text processing - rich text processing apis

Qt 富文字處理(二)

文件元素 富文字文件通常包括一些通用的元素,例如段落 框架 和列表。這些在 qtextdocument 類中分別使用 qtextblock,qtextframe,qtexttable 和 qtextlist 描述。不同於文件的其他元素,使用一種特殊的文字片段描述,這使得可以同普通文字混排。文件的基本...

Qt 富文字處理(二)

富文字文件通常包括一些通用的元素,例如段落 框架 和列表。這些在 qtextdocument 類中分別使用 qtextblock,qtextframe,qtexttable 和 qtextlist 描述。不同於文件的其他元素,使用一種特殊的文字片段描述,這使得可以同普通文字混排。文件的基本構建單位是...

富文字處理

include mainwindow.h include ui mainwindow.h include include mainwindow mainwindow qwidget parent qmainwindow parent ui new ui mainwindow mainwindow m...