QTextEdit 類

The QTextEdit 類提供用於編輯和顯示純文本和富文本兩者的 Widget。 更多...

頭: #include <QTextEdit>
qmake: QT += widgets
繼承: QAbstractScrollArea
繼承者: QTextBrowser

公共類型

class ExtraSelection
flags AutoFormatting
enum AutoFormattingFlag { AutoNone, AutoBulletList, AutoAll }
enum LineWrapMode { NoWrap, WidgetWidth, FixedPixelWidth, FixedColumnWidth }

特性

公共函數

QTextEdit (QWidget * parent = nullptr)
QTextEdit (const QString & text , QWidget * parent = nullptr)
virtual ~QTextEdit ()
bool acceptRichText () const
Qt::Alignment alignment () const
QString anchorAt (const QPoint & pos ) const
QTextEdit::AutoFormatting autoFormatting () const
bool canPaste () const
QMenu * createStandardContextMenu ()
QMenu * createStandardContextMenu (const QPoint & position )
QTextCharFormat currentCharFormat () const
QFont currentFont () const
QTextCursor cursorForPosition (const QPoint & pos ) const
QRect cursorRect (const QTextCursor & cursor ) const
QRect cursorRect () const
int cursorWidth () const
QTextDocument * document () const
QString documentTitle () const
void ensureCursorVisible ()
QList<QTextEdit::ExtraSelection> extraSelections () const
bool find (const QString & exp , QTextDocument::FindFlags options = QTextDocument::FindFlags())
bool find (const QRegExp & exp , QTextDocument::FindFlags options = QTextDocument::FindFlags())
QString fontFamily () const
bool fontItalic () const
qreal fontPointSize () const
bool fontUnderline () const
int fontWeight () const
bool isReadOnly () const
bool isUndoRedoEnabled () const
int lineWrapColumnOrWidth () const
QTextEdit::LineWrapMode lineWrapMode () const
virtual QVariant loadResource (int type , const QUrl & name )
void mergeCurrentCharFormat (const QTextCharFormat & modifier )
void moveCursor (QTextCursor::MoveOperation operation , QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)
bool overwriteMode () const
QString placeholderText () const
void print (QPagedPaintDevice * printer ) const
void setAcceptRichText (bool accept )
void setAutoFormatting (QTextEdit::AutoFormatting features )
void setCurrentCharFormat (const QTextCharFormat & format )
void setCursorWidth (int width )
void setDocument (QTextDocument * document )
void setDocumentTitle (const QString & title )
void setExtraSelections (const QList<QTextEdit::ExtraSelection> & selections )
void setLineWrapColumnOrWidth (int w )
void setLineWrapMode (QTextEdit::LineWrapMode mode )
void setOverwriteMode (bool overwrite )
void setPlaceholderText (const QString & placeholderText )
void setReadOnly (bool ro )
void setTabChangesFocus (bool b )
void setTabStopDistance (qreal distance )
void setTextCursor (const QTextCursor & cursor )
void setTextInteractionFlags (Qt::TextInteractionFlags flags )
void setUndoRedoEnabled (bool enable )
void setWordWrapMode (QTextOption::WrapMode policy )
bool tabChangesFocus () const
qreal tabStopDistance () const
QColor textBackgroundColor () const
QColor textColor () const
QTextCursor textCursor () const
Qt::TextInteractionFlags textInteractionFlags () const
QString toHtml () const
QString toPlainText () const
QTextOption::WrapMode wordWrapMode () const

重實現公共函數

virtual QVariant inputMethodQuery (Qt::InputMethodQuery property ) const override

公共槽

void append (const QString & text )
void clear ()
void copy ()
void cut ()
void insertHtml (const QString & text )
void insertPlainText (const QString & text )
void paste ()
void redo ()
void scrollToAnchor (const QString & name )
void selectAll ()
void setAlignment (Qt::Alignment a )
void setCurrentFont (const QFont & f )
void setFontFamily (const QString & fontFamily )
void setFontItalic (bool italic )
void setFontPointSize (qreal s )
void setFontUnderline (bool underline )
void setFontWeight (int weight )
void setHtml (const QString & text )
void setPlainText (const QString & text )
void setText (const QString & text )
void setTextBackgroundColor (const QColor & c )
void setTextColor (const QColor & c )
void undo ()
void zoomIn (int range = 1)
void zoomOut (int range = 1)

信號

void copyAvailable (bool yes )
void currentCharFormatChanged (const QTextCharFormat & f )
void cursorPositionChanged ()
void redoAvailable (bool available )
void selectionChanged ()
void textChanged ()
void undoAvailable (bool available )

靜態公共成員

const QMetaObject staticMetaObject

保護函數

virtual bool canInsertFromMimeData (const QMimeData * source ) const
virtual QMimeData * createMimeDataFromSelection () const
virtual void insertFromMimeData (const QMimeData * source )

重實現保護函數

virtual void changeEvent (QEvent * e ) override
virtual void contextMenuEvent (QContextMenuEvent * event ) override
virtual void dragEnterEvent (QDragEnterEvent * e ) override
virtual void dragLeaveEvent (QDragLeaveEvent * e ) override
virtual void dragMoveEvent (QDragMoveEvent * e ) override
virtual void dropEvent (QDropEvent * e ) override
virtual void focusInEvent (QFocusEvent * e ) override
virtual bool focusNextPrevChild (bool next ) override
virtual void focusOutEvent (QFocusEvent * e ) override
virtual void inputMethodEvent (QInputMethodEvent * e ) override
virtual void keyPressEvent (QKeyEvent * e ) override
virtual void keyReleaseEvent (QKeyEvent * e ) override
virtual void mouseDoubleClickEvent (QMouseEvent * e ) override
virtual void mouseMoveEvent (QMouseEvent * e ) override
virtual void mousePressEvent (QMouseEvent * e ) override
virtual void mouseReleaseEvent (QMouseEvent * e ) override
virtual void paintEvent (QPaintEvent * event ) override
virtual void resizeEvent (QResizeEvent * e ) override
virtual void scrollContentsBy (int dx , int dy ) override
virtual void showEvent ( QShowEvent * ) override
virtual void wheelEvent (QWheelEvent * e ) override

額外繼承成員

詳細描述

The QTextEdit 類提供用於編輯和顯示純文本和富文本兩者的 Widget。

介紹和概念

QTextEdit 是支持使用 HTML 樣式標簽格式富文本的高級 WYSIWYG (所見即所得) 查看器/編輯器。經優化,能處理大文檔和快速響應用戶輸入。

QTextEdit 工作於段落和字符。段落是自動換行以擬閤 Widget 寬度的格式化字符串。默認情況下,當讀取純文本時,一個換行符錶示一個段落。文檔由零個或多個段落組成。根據段落對齊方式對齊段落單詞。段落由硬換行符分隔。段落中的每個字符有其自己的屬性 (例如:字體和顔色)。

QTextEdit 可以顯示圖像、列錶和錶格。若要在文本編輯視口中查看的文本太大,會齣現滾動條。文本編輯可以加載純文本文件和富文本文件。富文本的描述是使用 HTML 4 標記子集,參考 支持的 HTML 子集 頁麵,瞭解更多信息。

若僅僅需要顯示小段富文本使用 QLabel .

Qt 中的富文本支持旨在為嚮應用程序添加閤理在綫幫助設施提供快速、可移植、有效手段,並為富文本編輯器提供基礎。若發現 HTML 支持不足以滿足需求,可以考慮使用 Qt WebKit,它提供瞭功能齊全的 Web 瀏覽器 Widget。

鼠標光標的形狀在 QTextEdit is Qt::IBeamCursor 默認情況下。可以改變透過 viewport () 的光標特性。

使用 QTextEdit 作為顯示 Widget

QTextEdit 可以顯示大 HTML 子集,包括錶格和圖像。

設置或替代文本使用 setHtml () 刪除並替換任何現有文本,采用將文本傳入 setHtml () 調用。若調用 setHtml () 采用傳統 HTML,然後調用 toHtml (),返迴文本可能有不同標記,但渲染是相同的。可以刪除整個文本采用 clear ().

可以插入文字本身使用 QTextCursor 類或使用方便函數 insertHtml (), insertPlainText (), append () 或 paste (). QTextCursor 還能夠把復雜對象 (像:錶格或列錶) 插入文檔,且它能夠處理創建選擇並將改變應用到選中文本。

默認情況下,文本編輯在空白處自動換行以擬閤在文本編輯 Widget 中。 setLineWrapMode () 函數用於指定想要的換行種類,或 NoWrap 若不想要任何換行。調用 setLineWrapMode () 去設置固定像素寬度 FixedPixelWidth ,或字符列 (如:80 列) FixedColumnWidth 按指定像素或列數采用 setLineWrapColumnOrWidth ()。若使用自動換行到 Widget 的寬度 WidgetWidth ,可以指定是在空白處斷開還是在任何地方斷開采用 setWordWrapMode ().

The find () 函數可以用於在文本中查找和選擇給定字符串。

若想要限製段落總數在 QTextEdit (例如:在日誌查看器中經常很有用),可以使用 QTextDocument 的 maximumBlockCount 特性為此。

隻讀鍵綁定

QTextEdit 被隻讀使用時,鍵綁定僅限於導航,且隻可以采用鼠標選擇文本:

按鍵 動作
Up 嚮上移動一行。
Down 嚮下移動一行。
Left 嚮左移動一字符。
Right 嚮右移動一字符。
PageUp 嚮上移動一 (視口) 頁。
PageDown 嚮下移動一 (視口) 頁。
Home 移至文本起始。
End 移至文本末尾。
Alt+Wheel 水平捲動頁麵 (Wheel 是鼠標滾輪)。
Ctrl+Wheel 縮放文本。
Ctrl+A 選擇所有文本。

文本編輯可能能夠提供一些元信息。例如, documentTitle () 函數將返迴文本從 HTML <title> 標簽。

注意: 縮放 HTML 文檔纔工作,若字體大小未被設為固定尺寸。

使用 QTextEdit 作為編輯器

所有信息有關使用 QTextEdit 作為顯示 Widget 在此也適用。

設置當前字符格式的屬性采用 setFontItalic (), setFontWeight (), setFontUnderline (), setFontFamily (), setFontPointSize (), setTextColor () 和 setCurrentFont ()。設置當前段落的對齊方式采用 setAlignment ().

文本選擇的處理通過 QTextCursor 類,提供創建選擇、檢索文本內容或刪除選定的功能。可以檢索對應用戶可見光標的對象使用 textCursor () method. If you want to set a selection in QTextEdit just create one on a QTextCursor 對象然後使該光標成為可見光標使用 setTextCursor ()。選定可以被拷貝到剪貼闆采用 copy (),或剪切到剪貼闆采用 cut ()。可以選擇整個文本使用 selectAll ().

當光標被移動且底層格式化屬性改變時, currentCharFormatChanged () 信號發射,以在新光標位置反映新屬性。

The textChanged () 信號發射每當文本改變時 (作為結果源於 setText () 或透過編輯器本身)。

QTextEdit 保持 QTextDocument 對象,可以被檢索使用 document () 方法。還可以設置自己的文檔對象使用 setDocument ().

QTextDocument 提供 isModified() 函數,返迴 true 若文本在加載或采用 false 作為自變量最後調用 setModified 後被修改。此外,它提供撤消和重做方法。

拖放

QTextEdit 還支持自定義拖放行為。默認情況下, QTextEdit will insert plain text, HTML and rich text when the user drops data of these MIME types onto a document. Reimplement canInsertFromMimeData () 和 insertFromMimeData () 以添加對額外 MIME 類型的支持。

For example, to allow the user to drag and drop an image onto a QTextEdit , you could the implement these functions in the following way:

bool TextEdit::canInsertFromMimeData( const QMimeData *source ) const
{
    if (source->hasImage())
        return true;
    else
        return QTextEdit::canInsertFromMimeData(source);
}
					

通過返迴 true 添加對圖像 MIME 類型的支持。對於所有其它 MIME 類型,使用默認實現。

void TextEdit::insertFromMimeData( const QMimeData *source )
{
    if (source->hasImage())
    {
        QImage image = qvariant_cast<QImage>(source->imageData());
        QTextCursor cursor = this->textCursor();
        QTextDocument *document = this->document();
        document->addResource(QTextDocument::ImageResource, QUrl("image"), image);
        cursor.insertImage("image");
    }
}
					

解包圖像從 QVariant 保持通過 MIME 源並把它作為資源插入文檔。

編輯鍵綁定

為編輯而實現的鍵綁定列錶:

按鍵 動作
Backspace 刪除光標左側字符。
Delete 刪除光標右側字符。
Ctrl+C 把選中文本拷貝到剪貼闆。
Ctrl+Insert 把選中文本拷貝到剪貼闆。
Ctrl+K 刪除到行尾。
Ctrl+V 把剪貼闆文本粘貼到文本編輯中。
Shift+Insert 把剪貼闆文本粘貼到文本編輯中。
Ctrl+X 刪除選中文本並把它拷貝到剪貼闆。
Shift+Delete 刪除選中文本並把它拷貝到剪貼闆。
Ctrl+Z 撤消上一操作。
Ctrl+Y 重做上一操作。
Left 左移光標一字符。
Ctrl+Left 把光標左移一單詞。
Right 右移光標一字符。
Ctrl+Right 把光標右移一單詞。
Up 上移光標一行。
Down 下移光標一行。
PageUp 把光標上移一頁。
PageDown 把光標下移一頁。
Home 把光標移至行首。
Ctrl+Home 把光標移到文本開頭。
End 把光標移至行尾。
Ctrl+End 把光標移到文本末尾。
Alt+Wheel 水平捲動頁麵 (Wheel 是鼠標滾輪)。

要選擇 (標記) 文本,在按住 Shift 鍵的同時按下某一移動擊鍵,例如, Shift+Right 將選擇右側字符,而 Shift+Ctrl+Right 將選擇右側單詞,等等。

另請參閱 QTextDocument , QTextCursor , 應用程序範例 , 句法高亮器範例 ,和 富文本處理 .

成員類型文檔編製

enum QTextEdit:: AutoFormattingFlag
flags QTextEdit:: AutoFormatting

常量 描述
QTextEdit::AutoNone 0 不做任何自動格式化。
QTextEdit::AutoBulletList 0x00000001 自動創建項目符號列錶 (如:當用戶在最左列鍵入 * 星號,或在現有列錶項中按 Enter 鍵)。
QTextEdit::AutoAll 0xffffffff 應用所有自動格式。目前僅支持自動項目符號列錶。

AutoFormatting 類型是 typedef 對於 QFlags <AutoFormattingFlag>。它存儲 AutoFormattingFlag 值的 OR (或) 組閤。

enum QTextEdit:: LineWrapMode

常量
QTextEdit::NoWrap 0
QTextEdit::WidgetWidth 1
QTextEdit::FixedPixelWidth 2
QTextEdit::FixedColumnWidth 3

特性文檔編製

acceptRichText : bool

此特性保持文本編輯是否接受由用戶插入的富文本

當此特性被設為 false 時,文本編輯將隻接受來自用戶的純文本輸入。例如:透過剪貼闆或拖放。

此特性默認為 true。

該特性在 Qt 4.1 引入。

訪問函數:

bool acceptRichText () const
void setAcceptRichText (bool accept )

autoFormatting : AutoFormatting

此特性保持自動格式化特徵的啓用設置

值可以是值的任何組閤在 AutoFormattingFlag 枚舉。默認為 AutoNone 。選取 AutoAll 以啓用所有自動格式化。

目前,唯一提供的自動格式化特徵是 AutoBulletList ;未來版本的 Qt 可能提供更多。

訪問函數:

QTextEdit::AutoFormatting autoFormatting () const
void setAutoFormatting (QTextEdit::AutoFormatting features )

cursorWidth : int

此特性指定光標的寬度 (以像素為單位)。默認值為 1。

該特性在 Qt 4.2 引入。

訪問函數:

int cursorWidth () const
void setCursorWidth (int width )

document : QTextDocument *

此特性保持文本編輯器的底層文檔。

注意: 編輯器 不擁有文檔的所有權 除非它是文檔的父級對象。提供文檔的父級對象仍是對象的所有者。若先前賦值的文檔是編輯器的子級,就將它刪除。

訪問函數:

QTextDocument * document () const
void setDocument (QTextDocument * document )

documentTitle : QString

此特性保持剖析自文本的文檔標題。

默認情況下,對於新近創建的空文檔,此特性包含空字符串。

訪問函數:

QString documentTitle () const
void setDocumentTitle (const QString & title )

html : QString

此特性為文本編輯的文本提供到 HTML 的接口。

toHtml() 以 HTML 形式返迴文本編輯的文本。

setHtml() 更改文本編輯文本。移除任何先前文本和清零撤消/重做曆史。輸入文本被解釋為 html 格式富文本。 currentCharFormat () 也被重置,除非 textCursor () 已在文檔開頭。

注意: 調用者有責任確保正確解碼文本當 QString 包含的 HTML 被創建並傳遞給 setHtml() 時。

默認情況下,對於新近創建的空文檔,此特性包含用於描述沒有本體文本的 HTML 4.0 文檔文本。

訪問函數:

QString toHtml () const
void setHtml (const QString & text )

通知程序信號:

void textChanged ()

另請參閱 支持的 HTML 子集 and plainText .

lineWrapColumnOrWidth : int

此特性保持文本換行位置 (以像素或列為單位,從屬換行模式)

若換行模式為 FixedPixelWidth ,值是從文本編輯左邊緣開始 (文本應在哪裏換行) 的像素數。若換行模式為 FixedColumnWidth ,值是從文本編輯左邊緣開始 (文本應在哪裏換行) 的列號 (以字符列為單位)。

默認情況下,此特性包含 0 值。

訪問函數:

int lineWrapColumnOrWidth () const
void setLineWrapColumnOrWidth (int w )

另請參閱 lineWrapMode .

lineWrapMode : LineWrapMode

此特性保持換行模式

默認模式為 WidgetWidth 導緻單詞在文本編輯右邊緣換行。換行齣現在空白處,保持整個單詞完整。若想要換行發生在單詞內,使用 setWordWrapMode ()。若將換行模式設為 FixedPixelWidth or FixedColumnWidth 還應調用 setLineWrapColumnOrWidth () 采用想要的寬度。

訪問函數:

QTextEdit::LineWrapMode lineWrapMode () const
void setLineWrapMode (QTextEdit::LineWrapMode mode )

另請參閱 lineWrapColumnOrWidth .

overwriteMode : bool

此特性保持由用戶鍵入的文本是否覆蓋現有文本

就像很多文本編輯器,可以把文本編輯器 Widget 配置為采用由用戶錄入的新文本插入 (或覆寫) 現有文本。

若此特性為 true ,以新文本逐字符覆寫現有文本;否則,在光標位置處插入文本,置換現有文本。

默認情況下,此特性為 false (新文本不覆寫現有文本)。

該特性在 Qt 4.1 引入。

訪問函數:

bool overwriteMode () const
void setOverwriteMode (bool overwrite )

placeholderText : QString

此特性保持編輯器占位符文本

設置此特性將使編輯器顯示變灰占位符文本隻要 document () 為空。

默認情況下,此特性包含空字符串。

該特性在 Qt 5.2 引入。

訪問函數:

QString placeholderText () const
void setPlaceholderText (const QString & placeholderText )

另請參閱 document ().

plainText : QString

此特性以純文本形式,獲取並設置文本編輯器的內容。移除先前內容並重置撤銷/重做曆史,當設置特性時。 currentCharFormat () 也被重置,除非 textCursor () 已在文檔開頭。

若文本編輯擁有另一內容類型,就不會將它替換為純文本若調用 toPlainText ()。這的唯一例外是非間斷空格 nbsp; ,會被轉換成標準空格。

默認情況下,對於沒有內容的編輯器,此特性包含空字符串。

該特性在 Qt 4.3 引入。

訪問函數:

QString toPlainText () const
void setPlainText (const QString & text )

另請參閱 html .

readOnly : bool

此特性保持文本編輯是否為隻讀

在隻讀文本編輯中,用戶隻能導航文本和選擇文本;修改文本是不可能的。

此特性默認為 false。

訪問函數:

bool isReadOnly () const
void setReadOnly (bool ro )

tabChangesFocus : bool

此特性保持是否 Tab 改變聚焦 (或接受作為輸入)

在某些場閤,文本編輯不應該允許用戶輸入 Tab (製錶符) 或改變縮進使用 Tab 鍵,因為這會打斷聚焦鏈。默認為 false。

訪問函數:

bool tabChangesFocus () const
void setTabChangesFocus (bool b )

tabStopDistance : qreal

此特性保持 Tab (製錶符) 停止距離 (以像素為單位)

默認情況下,此特性包含 80 像素的值。

該特性在 Qt 5.10 引入。

訪問函數:

qreal tabStopDistance () const
void setTabStopDistance (qreal distance )

textInteractionFlags : Qt::TextInteractionFlags

指定 Widget 應如何與用戶輸入交互。

默認值取決於 QTextEdit 是隻讀或可編輯,且它是否為 QTextBrowser or not.

該特性在 Qt 4.2 引入。

訪問函數:

Qt::TextInteractionFlags textInteractionFlags () const
void setTextInteractionFlags (Qt::TextInteractionFlags flags )

undoRedoEnabled : bool

此特性保持是否啓用瞭撤消和重做

用戶纔能撤消 (或重做) 動作,若此屬性為 true,且存在可以撤消 (或重做) 的動作。

訪問函數:

bool isUndoRedoEnabled () const
void setUndoRedoEnabled (bool enable )

wordWrapMode : QTextOption::WrapMode

此特性保持模式 QTextEdit 會使用,當按單詞換行文本時

默認情況下,此特性被設為 QTextOption::WrapAtWordBoundaryOrAnywhere .

訪問函數:

QTextOption::WrapMode wordWrapMode () const
void setWordWrapMode (QTextOption::WrapMode policy )

另請參閱 QTextOption::WrapMode .

成員函數文檔編製

QTextEdit:: QTextEdit ( QWidget * parent = nullptr)

構造空的 QTextEdit 采用父級 parent .

QTextEdit:: QTextEdit (const QString & text , QWidget * parent = nullptr)

構造 QTextEdit 采用父級 parent 。文本編輯將顯示文本 text 。文本被解釋成 HTML。

[虛擬] QTextEdit:: ~QTextEdit ()

析構函數。

Qt::Alignment QTextEdit:: alignment () const

返迴當前段落的對齊方式。

另請參閱 setAlignment ().

QString QTextEdit:: anchorAt (const QPoint & pos ) const

返迴錨點的引用在位置 pos ,或空字符串若該點處不存在錨點。

[slot] void QTextEdit:: append (const QString & text )

追加新段落采用 text 到文本編輯末尾。

注意: 新追加段落將擁有如當前段落的相同字符格式和塊格式,通過光標位置確定。

另請參閱 currentCharFormat () 和 QTextCursor::blockFormat ().

[virtual protected] bool QTextEdit:: canInsertFromMimeData (const QMimeData * source ) const

此函數返迴 true 若 MIME (多用途 Internet 郵件擴展) 數據對象內容的指定是通過 source ,可以解碼並插入文檔。例如,當在拖拽操作期間,鼠標進入此 Widget,且有必要確定是否可能接受拖放操作時,調用它。

重實現此函數以啓用對額外 MIME 類型的拖放支持。

bool QTextEdit:: canPaste () const

返迴是否可以把文本從剪貼闆粘貼到 textedit。

該函數在 Qt 4.2 引入。

[override virtual protected] void QTextEdit:: changeEvent ( QEvent * e )

重實現自 QFrame::changeEvent ().

[slot] void QTextEdit:: clear ()

刪除文本編輯中的所有文本。

注意事項:

另請參閱 cut (), setPlainText (),和 setHtml ().

[override virtual protected] void QTextEdit:: contextMenuEvent ( QContextMenuEvent * event )

重實現自 QAbstractScrollArea::contextMenuEvent ().

展示標準上下文菜單,創建采用 createStandardContextMenu ().

若不想要文本編輯擁有上下文菜單,可以設置其 contextMenuPolicy to Qt::NoContextMenu 。若想要定製上下文菜單,重實現此函數。若想要擴展標準上下文菜單,重實現此函數,調用 createStandardContextMenu () 並擴展返迴菜單。

有關事件信息的傳遞是在 event 對象。

void MyTextEdit::contextMenuEvent(QContextMenuEvent *event)
{
    QMenu *menu = createStandardContextMenu();
    menu->addAction(tr("My Menu Item"));
    //...
    menu->exec(event->globalPos());
    delete menu;
}
					

[slot] void QTextEdit:: copy ()

把任何選中文本拷貝到剪貼闆。

另請參閱 copyAvailable ().

[signal] void QTextEdit:: copyAvailable ( bool yes )

此信號被發射當在文本編輯中選擇或取消選擇文本時。

當有文本被選中時,此信號會被發射采用 yes 設為 true。若沒有文本被選中或選中文本被取消選擇,此信號被發射采用 yes 設為 false。

yes 為 True 則 copy () 可以用於把選定拷貝到剪貼闆。若 yes 為 false 則 copy () 什麼都不做。

另請參閱 selectionChanged ().

[virtual protected] QMimeData *QTextEdit:: createMimeDataFromSelection () const

此函數返迴錶示文本編輯當前選定內容的新的 MIME 數據對象。它被調用當需要將選定封裝成新的 QMimeData 對象;例如,當開始拖放操作或將數據拷貝到剪貼闆時。

若重實現此函數,注意,所有權對於返迴的 QMimeData 對象被傳遞給調用者。可以檢索選定通過使用 textCursor () 函數。

QMenu *QTextEdit:: createStandardContextMenu ()

此函數創建要展示的標準上下文菜單,當用戶采用鼠標右鍵點擊文本編輯時。它被調用從默認 contextMenuEvent () 處理程序。彈齣菜單的所有權會轉移給調用者。

推薦使用 createStandardContextMenu( QPoint ) 版本,啓用用戶點擊位置敏感動作。

QMenu *QTextEdit:: createStandardContextMenu (const QPoint & position )

此函數創建要展示的標準上下文菜單,當用戶采用鼠標右鍵點擊文本編輯時。它被調用從默認 contextMenuEvent () 處理程序,且它獲取 position 在文檔坐標中 (當鼠標點擊時)。這可以啓用用戶點擊位置敏感動作。彈齣菜單的所有權會轉移給調用者。

該函數在 Qt 4.4 引入。

QTextCharFormat QTextEdit:: currentCharFormat () const

返迴插入新文本時使用的字符格式。

另請參閱 setCurrentCharFormat ().

[signal] void QTextEdit:: currentCharFormatChanged (const QTextCharFormat & f )

此信號被發射,若當前字符格式已改變 (例如:通過光標位置的變化導緻)。

新的格式為 f .

另請參閱 setCurrentCharFormat ().

QFont QTextEdit:: currentFont () const

返迴當前格式的字體。

另請參閱 setCurrentFont (), setFontFamily (),和 setFontPointSize ().

QTextCursor QTextEdit:: cursorForPosition (const QPoint & pos ) const

返迴 QTextCursor 在位置 pos (在視口坐標中)。

[signal] void QTextEdit:: cursorPositionChanged ()

此信號被發射每當光標位置改變時。

QRect QTextEdit:: cursorRect (const QTextCursor & cursor ) const

返迴矩形 (在視口坐標中) 包括 cursor .

QRect QTextEdit:: cursorRect () const

返迴包括文本編輯光標的矩形 (在視口坐標中)。

[slot] void QTextEdit:: cut ()

把選中文本拷貝到剪貼闆,並將其從文本編輯中刪除。

若沒有選中文本,什麼都不發生。

另請參閱 copy () 和 paste ().

[override virtual protected] void QTextEdit:: dragEnterEvent ( QDragEnterEvent * e )

重實現自 QAbstractScrollArea::dragEnterEvent ().

[override virtual protected] void QTextEdit:: dragLeaveEvent ( QDragLeaveEvent * e )

重實現自 QAbstractScrollArea::dragLeaveEvent ().

[override virtual protected] void QTextEdit:: dragMoveEvent ( QDragMoveEvent * e )

重實現自 QAbstractScrollArea::dragMoveEvent ().

[override virtual protected] void QTextEdit:: dropEvent ( QDropEvent * e )

重實現自 QAbstractScrollArea::dropEvent ().

void QTextEdit:: ensureCursorVisible ()

通過捲動文本編輯確保光標是可見的,若有必要。

QList < QTextEdit::ExtraSelection > QTextEdit:: extraSelections () const

返迴先前設置的額外選定。

該函數在 Qt 4.2 引入。

另請參閱 setExtraSelections ().

bool QTextEdit:: find (const QString & exp , QTextDocument::FindFlags options = QTextDocument::FindFlags())

查找下一齣現為字符串 exp ,使用給定 options 。返迴 true if exp 被發現且更改光標到選擇匹配;否則返迴 false .

bool QTextEdit:: find (const QRegExp & exp , QTextDocument::FindFlags options = QTextDocument::FindFlags())

這是重載函數。

查找匹配正則錶達式的下一齣現 exp ,使用給定 options QTextDocument::FindCaseSensitively 選項被忽略對於此重載,使用 QRegExp::caseSensitivity 代替。

返迴 true 若找到匹配並把光標改為選擇匹配;否則返迴 false .

該函數在 Qt 5.3 引入。

[override virtual protected] void QTextEdit:: focusInEvent ( QFocusEvent * e )

重實現自 QWidget::focusInEvent ().

[override virtual protected] bool QTextEdit:: focusNextPrevChild ( bool next )

重實現自 QWidget::focusNextPrevChild ().

[override virtual protected] void QTextEdit:: focusOutEvent ( QFocusEvent * e )

重實現自 QWidget::focusOutEvent ().

QString QTextEdit:: fontFamily () const

返迴當前格式的字體係列。

另請參閱 setFontFamily (), setCurrentFont (),和 setFontPointSize ().

bool QTextEdit:: fontItalic () const

返迴 true 若當前格式的字體是斜體;否則返迴 false。

另請參閱 setFontItalic ().

qreal QTextEdit:: fontPointSize () const

返迴當前格式的字體點大小。

另請參閱 setFontFamily (), setCurrentFont (),和 setFontPointSize ().

bool QTextEdit:: fontUnderline () const

返迴 true 若當前格式字體帶下劃綫;否則返迴 false。

另請參閱 setFontUnderline ().

int QTextEdit:: fontWeight () const

返迴當前格式的字體粗細。

另請參閱 setFontWeight (), setCurrentFont (), setFontPointSize (),和 QFont::Weight .

[override virtual protected] void QTextEdit:: inputMethodEvent ( QInputMethodEvent * e )

重實現自 QWidget::inputMethodEvent ().

[override virtual] QVariant QTextEdit:: inputMethodQuery ( Qt::InputMethodQuery property ) const

重實現自 QWidget::inputMethodQuery ().

[virtual protected] void QTextEdit:: insertFromMimeData (const QMimeData * source )

此函數插入 MIME (多用途 Internet 郵件擴展) 數據對象的內容,指定通過 source ,進當前光標位置處的文本編輯。會調用它,每當因剪貼闆粘貼操作插入文本時 (或當文本編輯接受來自拖放操作的數據時)。

重實現此函數以啓用對額外 MIME 類型的拖放支持。

[slot] void QTextEdit:: insertHtml (const QString & text )

方便槽插入 text 假定當前光標位置處為 HTML 格式。

相當於:

edit->textCursor().insertHtml(fragment);
					

注意: 當采用樣式錶使用此函數時,樣式錶將僅應用於文檔當前塊。為整個文檔應用樣式錶,使用 QTextDocument::setDefaultStyleSheet () 代替。

[slot] void QTextEdit:: insertPlainText (const QString & text )

方便槽插入 text 在當前光標位置。

它相當於

edit->textCursor().insertText(text);
					

[override virtual protected] void QTextEdit:: keyPressEvent ( QKeyEvent * e )

重實現自 QAbstractScrollArea::keyPressEvent ().

[override virtual protected] void QTextEdit:: keyReleaseEvent ( QKeyEvent * e )

重實現自 QWidget::keyReleaseEvent ().

[虛擬] QVariant QTextEdit:: loadResource ( int type , const QUrl & name )

加載指定資源通過給定 type and name .

此函數是擴展對於 QTextDocument::loadResource ().

注意: 此函數可以被援引,通過元對象係統和從 QML。見 Q_INVOKABLE .

另請參閱 QTextDocument::loadResource ().

void QTextEdit:: mergeCurrentCharFormat (const QTextCharFormat & modifier )

閤並指定特性由 modifier 進當前字符格式通過調用 QTextCursor::mergeCharFormat 在編輯器光標。若編輯器擁有選定,則特性對於 modifier 被直接應用到選定。

另請參閱 QTextCursor::mergeCharFormat ().

[override virtual protected] void QTextEdit:: mouseDoubleClickEvent ( QMouseEvent * e )

重實現自 QAbstractScrollArea::mouseDoubleClickEvent ().

[override virtual protected] void QTextEdit:: mouseMoveEvent ( QMouseEvent * e )

重實現自 QAbstractScrollArea::mouseMoveEvent ().

[override virtual protected] void QTextEdit:: mousePressEvent ( QMouseEvent * e )

重實現自 QAbstractScrollArea::mousePressEvent ().

[override virtual protected] void QTextEdit:: mouseReleaseEvent ( QMouseEvent * e )

重實現自 QAbstractScrollArea::mouseReleaseEvent ().

void QTextEdit:: moveCursor ( QTextCursor::MoveOperation operation , QTextCursor::MoveMode mode = QTextCursor::MoveAnchor)

移動光標通過履行給定 operation .

mode is QTextCursor::KeepAnchor ,光標選擇由它移動覆蓋的文本。這與用戶達成的效果相同,當按下 Shift 鍵和采用光標鍵移動光標時。

該函數在 Qt 4.2 引入。

另請參閱 QTextCursor::movePosition ().

[override virtual protected] void QTextEdit:: paintEvent ( QPaintEvent * event )

重實現自 QAbstractScrollArea::paintEvent ().

此事件處理程序可以在子類中重實現,收到的描繪事件被傳入 event 。通常不必重實現此函數在子類 QTextEdit .

警告: 底層文本文檔必須不被修改從此函數的重實現中。

[slot] void QTextEdit:: paste ()

把剪貼闆文本粘貼到文本編輯當前光標位置處。

若剪貼闆中沒有文本,什麼都不發生。

要改變此函數的行為,即,要修改什麼 QTextEdit 可以粘貼及如何粘貼,重實現虛擬 canInsertFromMimeData () 和 insertFromMimeData () 函數。

另請參閱 cut () 和 copy ().

void QTextEdit:: print ( QPagedPaintDevice * printer ) const

方便函數以將文本編輯文檔打印到給定 printer 。這相當於在文檔上直接調用 print 方法,除此函數還支持 QPrinter::Selection 作為打印範圍外。

該函數在 Qt 4.3 引入。

另請參閱 QTextDocument::print ().

[slot] void QTextEdit:: redo ()

重做上一操作。

若沒有要重做的操 (即:在撤消/重做曆史中沒有重做步驟),則什麼都不發生。

該函數在 Qt 4.2 引入。

另請參閱 undo ().

[signal] void QTextEdit:: redoAvailable ( bool available )

此信號被發射,每當重做操作變為可用時 ( available 為 True) 或不可用 ( available 為 false)。

[override virtual protected] void QTextEdit:: resizeEvent ( QResizeEvent * e )

重實現自 QAbstractScrollArea::resizeEvent ().

[override virtual protected] void QTextEdit:: scrollContentsBy ( int dx , int dy )

重實現自 QAbstractScrollArea::scrollContentsBy ().

[slot] void QTextEdit:: scrollToAnchor (const QString & name )

捲動文本編輯,以便錨點采用給定 name 可見;什麼都不做若 name 為空,或已經可見 (或找不到)。

[slot] void QTextEdit:: selectAll ()

選擇所有文本。

另請參閱 copy (), cut (),和 textCursor ().

[signal] void QTextEdit:: selectionChanged ()

此信號發射,每當選定改變時。

另請參閱 copyAvailable ().

[slot] void QTextEdit:: setAlignment ( Qt::Alignment a )

把當前段落的對齊方式設為 a 。有效對齊方式是 Qt::AlignLeft , Qt::AlignRight , Qt::AlignJustify and Qt::AlignCenter (水平居中)。

另請參閱 alignment ().

void QTextEdit:: setCurrentCharFormat (const QTextCharFormat & format )

把新文本插入時使用的字符格式設為 format 通過調用 QTextCursor::setCharFormat () 在編輯器光標。若編輯器擁有選定,則把字符格式直接應用到選定。

另請參閱 currentCharFormat ().

[slot] void QTextEdit:: setCurrentFont (const QFont & f )

把當前格式的字體設為 f .

另請參閱 currentFont (), setFontPointSize (),和 setFontFamily ().

void QTextEdit:: setExtraSelections (const QList < QTextEdit::ExtraSelection > & selections )

此函數允許采用給定顔色臨時標記某些文檔區域,指定通過 selections 。例如:在編程編輯器中這可以是有用的,采用給定背景色標記整行文本以指示斷點的存在。

該函數在 Qt 4.2 引入。

另請參閱 QTextEdit::ExtraSelection and extraSelections ().

[slot] void QTextEdit:: setFontFamily (const QString & fontFamily )

把當前格式的字體係列設為 fontFamily .

另請參閱 fontFamily () 和 setCurrentFont ().

[slot] void QTextEdit:: setFontItalic ( bool italic )

italic 為 true,把當前格式設為斜體;否則,把當前格式設為非斜體。

另請參閱 fontItalic ().

[slot] void QTextEdit:: setFontPointSize ( qreal s )

將當前格式的點大小設為 s .

注意,若 s 為 0 (或負值),此函數的行為未定義。

另請參閱 fontPointSize (), setCurrentFont (),和 setFontFamily ().

[slot] void QTextEdit:: setFontUnderline ( bool underline )

underline 為 True,將當前格式設為下劃綫;否則,將當前格式設為非下劃綫。

另請參閱 fontUnderline ().

[slot] void QTextEdit:: setFontWeight ( int weight )

把當前格式的字體粗細設為給定 weight ,其使用值範圍的定義在 QFont::Weight 枚舉。

另請參閱 fontWeight (), setCurrentFont (),和 setFontFamily ().

[slot] void QTextEdit:: setPlainText (const QString & text )

把文本編輯的文本更改為字符串 text 。移除任何以前文本。

注意事項:

注意: setter 函數對於特性 plainText .

另請參閱 toPlainText ().

[slot] void QTextEdit:: setText (const QString & text )

設置文本編輯的 text 。文本可以是純文本 (或 HTML),且文本編輯器將試著猜測正確格式。

使用 setHtml () 或 setPlainText () 直接避免文本編輯的猜測。

該函數在 Qt 4.2 引入。

另請參閱 toPlainText () 和 toHtml ().

[slot] void QTextEdit:: setTextBackgroundColor (const QColor & c )

把當前格式的文本背景色設為 c .

該函數在 Qt 4.4 引入。

另請參閱 textBackgroundColor ().

[slot] void QTextEdit:: setTextColor (const QColor & c )

把當前格式的文本顔色設為 c .

另請參閱 textColor ().

void QTextEdit:: setTextCursor (const QTextCursor & cursor )

設置可見 cursor .

另請參閱 textCursor ().

[override virtual protected] void QTextEdit:: showEvent ( QShowEvent * )

重實現自 QWidget::showEvent ().

QColor QTextEdit:: textBackgroundColor () const

返迴當前格式的文本背景色。

該函數在 Qt 4.4 引入。

另請參閱 setTextBackgroundColor ().

[signal] void QTextEdit:: textChanged ()

此信號被發射每當文檔內容改變時;例如,當插入 (或刪除) 文本 (或應用格式) 時。

注意: 通知程序信號對於特性 html .

QColor QTextEdit:: textColor () const

返迴當前格式的文本顔色。

另請參閱 setTextColor ().

QTextCursor QTextEdit:: textCursor () const

返迴副本為 QTextCursor 錶示當前可見光標。注意:改變返迴光標不影響 QTextEdit 的光標; 使用 setTextCursor () 以更新可見光標。

另請參閱 setTextCursor ().

QString QTextEdit:: toPlainText () const

QString QTextEdit::toPlainText() const

把文本編輯的文本作為純文本返迴。

注意: getter 函數對於特性 plainText .

另請參閱 QTextEdit::setPlainText ().

[slot] void QTextEdit:: undo ()

撤消上一操作。

若沒有要撤消的操作 (即:撤消/重做曆史中沒有撤消步驟),什麼都不發生。

該函數在 Qt 4.2 引入。

另請參閱 redo ().

[signal] void QTextEdit:: undoAvailable ( bool available )

此信號被發射每當撤消操作變為可用 ( available 為 True) 或不可用 ( available 為 false)。

[override virtual protected] void QTextEdit:: wheelEvent ( QWheelEvent * e )

重實現自 QAbstractScrollArea::wheelEvent ().

[slot] void QTextEdit:: zoomIn ( int range = 1)

放大文本通過使基字體大小 range 點變得更大並將所有字體大小重新計算成新大小。這不會改變任何圖像大小。

另請參閱 zoomOut ().

[slot] void QTextEdit:: zoomOut ( int range = 1)

縮小文本通過使基字體大小 range 點變得更小並將所有字體大小重新計算成新大小。這不會改變任何圖像大小。

另請參閱 zoomIn ().