Qt5開發學習之文字編輯功能(七)

2021-08-07 04:52:55 字數 1847 閱讀 8065

在編寫包含格式設定的文字編輯程式時,qt用到的類一般為:qtextedit,qtextdocument,qtextblock,qtextframe等等。任何乙個文字編輯器都要用到qtextedit作為文字的容器,在它裡面輸入的文字可由qtextdocument作為載體,而用來表示qtextdocument的元素的qtextblock、qtextlist、qtextframe等是qtextdocument的不同表示方式,可以用來表示字串、段落、列表、**和等。

每種元素都有自己的格式,這些格式用qtextcharformat、qtextblockformat、qtextlistformat、qtextframeformat等類來描述和變現。例如:qtextblock類用於表示一塊文字,通常用於理解為乙個段落,qtextblockformat類則表示這一塊文字的格式,如縮排的值、與四邊的邊距等。

游標類qtextcursor類是乙個經常會用到的、非常重要的類。它提供了對qtextdocument文件的修改介面,所有對文件格式的修改都和游標有關。改變的都是游標所在位置、行、段落的格式。

**例項:完成乙個文字編輯框,有改變字型、字型大小、加粗等功能:

首先建立乙個qmainwindow工程,在工程檔案中新建乙個qwidget類,在qwidget類中新建乙個qtextedit物件,在qmainwindow中加入qwidget物件。

#include 

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include "text.h"

class

textedit : public

qmainwindow

;

#include "textedit.h"

textedit::textedit(qwidget *parent)

: qmainwindow(parent)

textedit::~textedit()

void textedit::meregeformat(qtextcharformat fmt)

cursor.mergecharformat(fmt);

// 將所選用的字型作用於選擇的區域

m_text->edit->mergecurrentcharformat(fmt);

}void textedit::showfontcombobox(qstring combostr)

void textedit::showsizespinbox(qstring spinvalue)

void textedit::showboldbtn()

void textedit::showitalicbtn()

void textedit::showunderlinebtn()

void textedit::showcolorbtn()

}void textedit::showcurrentformatchanged(const qtextcharformat &fmt)

Qt5 文字編輯

應用場景 在編輯框中輸入一段文字,用滑鼠選取文字,修改工具欄上的字型 字型大小大小 加粗 斜體等屬性,選取的文字即發生相應的變化。一 任何乙個文字編輯器的程式都要用到qtextedit作為輸入文字的容器,在它裡面輸入的可編輯文字由qtextdocument作為載體,而qtextblock qtext...

Qt5開發學習之事件(十三)

滑鼠事件包括滑鼠的按下 移動 單擊 雙擊 釋放等 通過重寫滑鼠的事件函式完成。include mouseevent.h mouseevent mouseevent qwidget parent qmainwindow parent mouseevent mouseevent void mouseev...

django開發5 富文字編輯器

2 把解壓後的檔案放在js資料夾下,如 3 儲存著幾個檔案,其餘在python用不到,刪除了 5 以上的3個js檔案路徑為剛複製進來的路徑。可根據自己路徑修改。其中config.js檔案沒有,可以建立乙個,主要用來建立乙個kindeditor 如下 6 讓其找到文章內容,如下 如 我的文章內容在te...