1.QTextEdit简介

  Header:#include < QTextEdit >
  qmake: QT += widgets
  Inherits: QAbstractScrollArea
  Inherited By: QTextBrowser

QTextEdit属性

acceptRichText : bool
  此属性保存文本编辑是否接受用户的富文本插入。当此属性设置为false text时,编辑将只接受用户的纯文本输入。例如,通过剪贴板或拖放。此属性的默认值为true。

autoFormatting : AutoFormatting
  此属性保存已启用的自动格式化功能集。该值可以是AutoFormattingFlag枚举中的值的任意组合。默认值为“自动无”。选择AutoAll可启用所有自动格式化。目前,提供的唯一自动格式化功能是AutoBulletList;Qt的未来版本可能提供更多功能。
访问功能:

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

cursorWidth : int
  此属性以像素为单位指定光标的宽度。默认值为1。
访问功能:

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格式的富文本。(注意:当创建包含HTML的QString并将其传递给setHtml()时,调用者有责任确保文本被正确解码。)默认情况下,对于新创建的空文档,此属性包含描述无正文文本的HTML 4.0文档的文本。
访问功能:

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

通知信号:

void textChanged();

lineWrapColumnOrWidth : int
  此属性保留文本将被换行的位置(以像素或列为单位,具体取决于换行模式)。如果包裹模式为FixedPixelWidth,则该值为文本编辑左边缘的像素数,文本应在该位置包裹。如果换行模式为FixedColumnWidth,则该值是文本编辑左边缘的列号(以字符列为单位),文本应在该列中换行。默认情况下,此属性包含值0。
访问功能:

int lineWrapColumnOrWidth() const;
void setLineWrapColumnOrWidth(int w);

lineWrapMode : LineWrapMode
  此属性保存换行模式,默认模式为WidgetWidth,这会导致文字被包装在文本编辑的右边缘。在空格处进行换行,使整个单词保持完整。如果要在单词中进行换行,请使用setWordWrapMode()。如果将包裹模式设置为FixedPixelWidth或FixedColumnWidth,则还应使用所需的宽度调用setLineWrapColumnOrWidth()。
访问功能:

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

overwriteMode : bool
  此属性保存用户输入的文本是否将覆盖现有文本。与许多文本编辑器一样,文本编辑器小部件可以配置为使用用户输入的新文本插入或覆盖现有文本。如果此属性为true,则现有文本将被新文本逐字符覆盖;否则,将在光标位置插入文本,替换现有文本。默认情况下,此属性为false(新文本不会覆盖现有文本)。Qt4.1中引入了此属性。
访问功能:

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

placeholderText : QString
  此属性保存编辑器占位符文本。只要document()为空,设置此属性将使编辑器显示灰色占位符文本。默认情况下,此属性包含空字符串。Qt5.2中引入了此属性。
访问功能:

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

plainText : QString
  此属性获取并将文本编辑器的内容设置为纯文本。设置属性时,将删除以前的内容并重置撤消/重做历史记录。如果文本编辑有另一种内容类型,则如果调用toPlainText(),则不会将其替换为纯文本。唯一的例外是非中断空间nbsp;,将转换为标准空间。默认情况下,对于没有内容的编辑器,此属性包含空字符串。Qt4.3中引入了此属性。
访问功能:

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

readOnly : bool
  此属性保存文本编辑是否为只读。在只读文本编辑中,用户只能浏览文本并选择文本;无法修改文本。此属性的默认值为false。
访问功能:

bool isReadOnly() const;
void setReadOnly(bool ro);

tabChangesFocus : bool
  此属性保存选项卡是更改焦点还是接受作为输入。在某些情况下,文本编辑不应允许用户输入制表符或使用Tab键更改缩进,因为这会打断焦点链。默认值为false。
访问功能:

bool tabChangesFocus() const;
void setTabChangesFocus(bool b);

tabStopDistance : qreal
  此属性以像素为单位保留制表符停止距离。默认情况下,此属性包含80像素的值。Qt5.10中引入了此属性。
访问功能:

qreal tabStopDistance() const
void setTabStopDistance(qreal distance)

textInteractionFlags : Qt::TextInteractionFlags
  指定小部件应如何与用户输入交互。默认值取决于QTextEdit是只读还是可编辑,以及它是否是QTextBrowser。Qt4.2中引入了此属性。
访问功能:

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

undoRedoEnabled : bool
  此属性保存是否启用了撤消和重做。如果此属性为true,并且存在可以撤消(或重做)的操作,则用户只能撤消或重做操作。
访问功能:

bool isUndoRedoEnabled() const;
void setUndoRedoEnabled(bool enable);

wordWrapMode : QTextOption::WrapMode
  此属性保存按单词包装文本时QTextEdit将使用的模式。默认情况下,此属性设置为QTExtraption::WrapAtWordBoundaryOrAnywhere。
访问功能:

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

QTextEdit类函数

QTextEdit(QWidget *parent = nullptr);//使用父对象构造空QTextEdit。QTextEdit(const QString &text, QWidget *parent = nullptr);//使用父对象构造QTextEdit。文本编辑将显示文本。文本被解释为html。virtual ~QTextEdit();//析构bool acceptRichText() const;//是否接受用户的富文本插入Qt::Alignment alignment() const//返回当前段落的对齐方式。QString anchorAt(const QPoint &pos) const;//返回位置pos处锚点的引用,如果该点不存在锚点,则返回空字符串。QTextEdit::AutoFormatting autoFormatting() const;//返回自动格式化功能集bool canPaste() const;//返回是否可以将文本从剪贴板粘贴到textedit中。QMenu *createStandardContextMenu();//此函数用于创建标准上下文菜单,当用户用鼠标右键单击文本编辑时,将显示该菜单。它是从默认的contextMenuEvent()处理程序调用的。弹出菜单的所有权转移给调用者。QMenu *createStandardContextMenu(const QPoint &position);//此函数用于创建标准上下文菜单,当用户用鼠标右键单击文本编辑时,将显示该菜单。它是从默认的contextMenuEvent()处理程序中调用的,它在文档坐标中的鼠标单击位置。这可以启用对用户单击位置敏感的操作。弹出菜单的所有权转移给调用者。QTextCharFormat currentCharFormat() const;//返回插入新文本时使用的字符格式。QFont currentFont() const;//返回当前格式的字体。QTextCursor cursorForPosition(const QPoint &pos) const;//返回位置处的QTextCursor(在视口坐标中)。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 = ...);//使用给定的选项查找字符串exp的下一个匹配项。如果找到exp并更改光标以选择匹配项,则返回true;否则返回false。bool find(const QRegExp &exp, QTextDocument::FindFlags options = ...);//这是一个重载函数。使用给定的选项查找下一个匹配正则表达式exp的匹配项。此重载忽略了QTextDocument::FindCaseSensitively选项,请改用QRegExp::CaseSensitively。如果找到匹配项并更改光标以选择匹配项,则返回true;否则返回false。QString fontFamily() const;//返回当前格式的字体系列。bool fontItalic() const;//如果当前格式的字体为斜体,则返回true;否则返回false。qreal fontPointSize() const;//返回当前格式字体的点大小。bool fontUnderline() const;//如果当前格式的字体带有下划线,则返回true;否则返回false。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);//通过在编辑器的光标上调用QTextCursor::mergeCharFormat,将修改器中指定的属性合并到当前字符格式中。如果编辑器有一个选择,则修改器的特性将直接应用于该选择。void moveCursor(QTextCursor::MoveOperation operation, QTextCursor::MoveMode mode = QTextCursor::MoveAnchor);//通过执行给定的操作来移动光标。如果模式为QTextCursor::KeepAnchor,光标将选择它移动到的文本。这与用户按住Shift键并使用光标键移动光标时达到的效果相同。bool overwriteMode() const;//返回用户输入的文本是否将覆盖现有文本QString placeholderText() const;//返回编辑器占位符文本void print(QPagedPaintDevice *printer) const;//将文本编辑的文档打印到给定打印机的便利功能。这相当于直接对文档调用print方法,只是此函数还支持QPrinter::Selection作为打印范围。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);//设置按单词包装文本时QTextEdit将使用的模式bool tabChangesFocus() const;//返回选项卡是更改焦点还是接受作为输入qreal tabStopDistance() const;//返回以像素为单位保留制表符停止距离QColor textBackgroundColor() const;//返回当前格式的文本背景色。QColor textColor() const;//返回当前格式的文本颜色。QTextCursor textCursor() const;//返回表示当前可见光标的QTextCursor的副本。请注意,对返回的游标所做的更改不会影响QTextEdit的游标;使用setTextCursor()更新可见光标。Qt::TextInteractionFlags textInteractionFlags() const;//小部件应如何与用户输入交互。QString toHtml() const;//将文本编辑的文本返回为html。QString toPlainText() const;//以纯文本形式返回文本编辑的文本。QTextOption::WrapMode wordWrapMode() const;//返回按单词包装文本时QTextEdit将使用的模式

QTextEdit信号

void copyAvailable(bool yes);//在文本编辑中选择或取消选择文本时,会发出此信号。当选择文本时,将发出该信号,并将yes设置为true。如果未选择任何文本或取消选择所选文本,则发出该信号,并将“是”设置为“假”。如果“是”,则可以使用copy()将所选内容复制到剪贴板。如果yes为false,则copy()不执行任何操作。void currentCharFormatChanged(const QTextCharFormat &f);//如果当前字符格式已更改,例如由于光标位置的更改而导致更改,则会发出此信号。新的格式是f。void cursorPositionChanged();//每当光标位置改变时,就会发出该信号。void redoAvailable(bool available);//每当重做操作变得可用(可用为true)或不可用(可用为false)时,就会发出此信号。void selectionChanged();//只要选择发生变化,就会发出该信号。void textChanged();//每当文档内容发生变化时,就会发出该信号;例如,插入或删除文本时,或应用格式时。注意:属性html的通知程序信号。void undoAvailable(bool available);//每当撤消操作可用(可用为true)或不可用(可用为false)时,都会发出此信号。

QTextEdit槽函数


void append(const QString &text);//在文本编辑的结尾追加一个新段落。注意:附加的新段落将具有与当前段落相同的字符格式和块格式,这取决于光标的位置。void clear();//删除文本编辑中的所有文本。请注意,此函数将清除撤消/重做历史记录。void copy();//将任何选定文本复制到剪贴板。void cut();//将选定文本复制到剪贴板并从文本编辑中删除。如果没有选定的文本,则不会发生任何事情。void insertHtml(const QString &text);//在当前光标位置插入假定为html格式的文本的便利槽。相当于 edit->textCursor().insertHtml(fragment);void insertPlainText(const QString &text);//在当前光标位置插入文本的便利槽。相当于edit->textCursor().insertText(text);void paste();//将剪贴板中的文本粘贴到当前光标位置的文本编辑中。如果剪贴板中没有文本,则不会发生任何事情。要更改此函数的行为,即修改QTextEdit可以粘贴的内容及其粘贴方式,请重新实现virtual canInsertFromMimeData()和insertFromMimeData()函数。void redo();//重做最后一个操作。如果没有要重做的操作,即在撤消/重做历史记录中没有重做步骤,则不会发生任何事情。void scrollToAnchor(const QString &name);//滚动文本编辑,使具有给定名称的锚可见;如果名称为空、已可见或找不到,则不执行任何操作。void selectAll();//选中全部文本。void setAlignment(Qt::Alignment a);//将当前段落的对齐方式设置为a。有效的对齐方式有Qt::AlignLeft、Qt::AlignRight、Qt::AlignJustify和Qt::AlignCenter(水平居中)。void setCurrentFont(const QFont &f);//将当前格式的字体设置为f。void setFontFamily(const QString &fontFamily);//将当前格式的字体系列设置为fontFamily。void setFontItalic(bool italic);//如果italic为true,则将当前格式设置为italic;否则,将当前格式设置为非斜体。void setFontPointSize(qreal s);//将当前格式的点大小设置为s。请注意,如果s为零或负,则不定义此函数的行为。void setFontUnderline(bool underline);//如果下划线为true,则将当前格式设置为下划线;否则,将当前格式设置为非下划线。void setFontWeight(int weight);//将当前格式的字体权重设置为给定的权重,其中使用的值在QFont::weight枚举定义的范围内。void setHtml(const QString &text);//更改文本编辑的文本。删除以前的任何文本,并清除撤消/重做历史记录。void setPlainText(const QString &text);//将文本编辑的文本更改为字符串文本。之前的任何文本都将被删除。文本被解释为纯文本。请注意,此函数将清除撤消/重做历史记录。void setText(const QString &text);//设置文本编辑的文本。文本可以是纯文本或HTML,文本编辑将尝试猜测正确的格式。直接使用setHtml()或setPlainText()避免文本编辑的猜测。void setTextBackgroundColor(const QColor &c);//将当前格式的文本背景色设置为c。void setTextColor(const QColor &c);//将当前格式的文本颜色设置为c。void undo();//撤消最后一个操作。如果没有要撤消的操作,即在撤消/重做历史记录中没有撤消步骤,则不会发生任何操作。void zoomIn(int range = 1);//通过使基本字体大小范围点变大并将所有字体大小重新计算为新大小来放大文本。这不会更改任何图像的大小。void zoomOut(int range = 1);//通过缩小基本字体大小范围点并将所有字体大小重新计算为新大小来缩小文本。这不会更改任何图像的大小。

protected函数


virtual bool canInsertFromMimeData(const QMimeData *source) const;//如果源指定的MIME数据对象的内容可以解码并插入到文档中,则此函数返回true。例如,在拖动操作期间,当鼠标进入此小部件,需要确定是否可以接受拖放操作时,将调用该小部件。重新实现此函数以启用对其他MIME类型的拖放支持。virtual QMimeData *createMimeDataFromSelection() const;//此函数返回一个新的MIME数据对象,以表示文本编辑当前选择的内容。当选择需要封装到新的QMimeData对象中时调用它;例如,开始拖放操作时,或将数据复制到剪贴板时。如果重新实现此函数,请注意,返回的QMimeData对象的所有权将传递给调用方。可以使用textCursor()函数检索所选内容。virtual void insertFromMimeData(const QMimeData *source);//此函数用于将源指定的MIME数据对象的内容插入到当前光标位置的文本编辑中。每当由于剪贴板粘贴操作而插入文本时,或当文本编辑从拖放操作接受数据时,都会调用该函数。重新实现此函数以启用对其他MIME类型的拖放支持。

重新实现的protected函数


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;

静态公共成员

const QMetaObject  staticMetaObject;

Qt类总结(一)QTextEdit相关推荐

  1. Win32下 Qt与Lua交互使用(二):在Lua脚本中使用Qt类

    话接上篇.成功配置好Qt+Lua+toLua后,我们可以实现在Lua脚本中使用各个Qt的类.直接看代码吧. #include "include/lua.hpp" #include ...

  2. Qt绑定UI界面和Qt类的四种方法

    1. Qt类头文件中 声明命名空间 namespace Ui { class Widget; } 声明UI指针对象 public:explicit Widget(QWidget *parent = 0 ...

  3. Qt助手(assistant):方便查找Qt类

    一个方便查找QT类用法的地方:QT自带的 QT助手.在qt安装路径中找到assistant.exe,它就是QT助手,运行之后就可以查找QT中的类和函数了 找到后,将其发送到桌面快捷方式,更名为Qt助手

  4. Qt 5.15.2 QTextEdit无法设置新字体的处理方式

    首发于我的个人博客:xie-kang.com 博客内有更多文章,欢迎大家访问 原文地址 在使用QT 5.15.2 开发的过程中碰到了件怪事,下列代码无法给QTextEdit选中的文字设置字体: QTe ...

  5. 《华清远见学习手记》之 网络五子棋游戏QT类的设计与实现 (4)

    网络五子棋游戏QT类的设计与实现 (4) 经过一段时间的C++和QT的学习,打算好好的改造一下前面的C++五子棋游戏. 你知道的,前面的程序甚至连构造函数都没有使用,还有虽然用到了面向对象的类,但思想 ...

  6. qt中qlineedit和qtextedit右键菜单翻译成中文

    qt中qlineedit和qtextedit右键菜单翻译成中文 qlineedit和qtextedit属于qwidget控件,在源码中找到../widgets/widgets.pro,在.pro文件最 ...

  7. Qt入门-文本框类QLineEdit和QTextEdit

    QLineEdit是单行文本框. QTextEdit是多行文本框. (1)单行文本框QLineEdit 常用的方法和属性: (a)获取和设置文本对齐方式 Qt::Alignment alignment ...

  8. 【QT学习六】QTextEdit

    目录 一.概述 二.QTextEdit的使用 创建QTextEdit控件 设置文本内容 获取文本内容 格式化文本 设置文本格式 插入图像 插入超链接 其他常用函数 三.QTextEdit类使用时注意事 ...

  9. Qt学习总结之QTextEdit

    一.QTextEdit特性 QTextEdit是一个高级的WYSIWYG(What You See Is What You Get所见即所得)编辑/查看器,支持使用HTML4标签子集的富文本格式. Q ...

最新文章

  1. TensorFlow下的基础命令语句:数组、字典、判断、循环、与函数
  2. deepin linux 大小,关于安装Deepin 20系统选择全盘安装后硬盘容量比实际的小
  3. android中仿qq最新版抽屉,Android 自定义View实现抽屉效果
  4. python encode gbk_[转]Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法
  5. Boot目录下内容丢失导致系统无法启动
  6. boost 正则 分割字符串
  7. element ui el-carousel 滚动图 vue 基于vue-lazyload图片懒加载、延迟加载 解决方案
  8. 0的ascii码值(0的ascii码值)
  9. vue-app之H5打开第三方app
  10. 系统学习机器学习之cox模型
  11. dnfdpl服务器维护了,扶持青年学者 商务印书馆将推出“日新文库”
  12. 基于python的智能文本分析 书_推荐一本Python数据分析必备工具书
  13. Unity 3D 海水的实现2 折射与反射 离屏相机的渲染
  14. 计算数据的平均值、方差和标准差
  15. 高精地图语义分割标注
  16. 用python创建你自己的命令行地址簿程序
  17. CU4C字符集检测和转换,C++版本
  18. 微信小程序开发者工具-使用技巧(更新中~)
  19. html输入QQ自动获取QQ头像,WordPress评论框输入QQ获取头像和昵称教程
  20. BCI脑机接口10:Concept of Software Interface for BCI systems全文读后感

热门文章

  1. 【js】vue跳出for循环
  2. 腾讯阿里大数据项目之Greenplum集群
  3. Argument list too long” 错误与解决方法
  4. 数据链路层协议之点对点协议 PPP
  5. Xcode 调试方法总结
  6. python 列表切片
  7. java多线程控制函数setDaemon,join,interupt
  8. 百度AI赋能,人民日报创作大脑发布
  9. powercfg 命令关闭显示器写法
  10. WPF真入门教程01--WPF简介