主页 | 所有的类 | 主要的类 | 注释的类 | 分组的类 | 函数 |
QTextEdit窗口部件提供了强大的单页面的多信息文本编辑器。 详情请见……
#include <qtextedit.h>
继承了QScrollView。
被QMultiLineEdit、QTextBrowser和QTextView继承。
QTextEdit是一个高级的所见即所得的支持使用HTML风格标记的多信息文本格式的查看器/编辑器。它对于处理大文档和快速相应用户的输入进行了优化。
QTextEdit操作的三个模式:
模式 | 命令 | 注释 |
---|---|---|
一般文本编辑器 | setTextFormat(PlainText) | 使用setText()设置文本,text()可以返回一般文本。文本属性(比如颜色)可以被设置,但是一般文本总是被返回。1. |
多信息文本编辑器 | setTextFormat(RichText) | 使用setText()设置文本,text()可以返回多信息文本。多信息文本编辑是相当受限制的。例如你不能设置边白或者插入图片(尽管你可以读取并且正确地显示具有边白和包含图片的文件)。这个模式对于编辑少量的多信息文本是非常有用的。2. |
文本查看器3. | setReadOnly(TRUE) | 使用setText()或append()(这个没有撤销历史,所以更快并且使用更少的内存)来设置文本,text()根据textFormat()返回一般文本或者多信息文本。这个模式可以正确显示HTML中一个比较大的子集。 |
1.我们不建议使用QTextEdit来创建语法高亮的编辑器,因为现在的应用编程接口对于这个目的是不够的。我们希望能在以后的发行中发行一个支持语法高亮的更加完整的应用编程接口。
2.在稍后的Qt发行中计划推出一个更完整的支持设置边白、图片等等的应用编程接口。
3.Qt 3.1将提供一个日志浏览器模式,它是专门为快速地并且有效使用内存地显示大量的只读文本而优化的。
我们建议你总是调用setTextFormat()来设置你想使用的模式。如果你是用AutoText,那么setText()和append()将会试图决定给定的文本是一般文本还是多信息文本。如果你使用RichText,那么setText()和append()总是假设给定的文本是多信息文本。insert()简单的插入给定的文本。
QTextEdit在段落和字符上工作。段落就是被自动换行来适应窗口部件的宽度的被格式化的字符串。默认情况下当读取一般文本时,两个换行符确定一个段落。一个文档由零或更多个段落组成,索引从0开始。字符是基于每一个段落来被索引的,也是从0开始。段落中的单字根据段落的alignment()进行对齐。段落被硬换行分隔。段落中的字符都有自己的属性,例如字体和颜色。
文本编辑文档使用如下概念:
QTextEdit可以显示图片(使用QMimeSourceFactory)、列表和表格。如果文本太大以至于不能在文本编辑的视口中查看时,滚动条将会出现。文本编辑可以载入一般文本和HTML文件(HTML3.2和4的子集)。表现风格和有效标记集由styleSheet()来定义。自定义标记可以被创建并且被放置到样式单中。可以使用setStyleSheet()改变样式单,具体情况请参考QStyleSheet。通过图片标记识别的图片如果它们可以被使用文本编辑的QMimeSourceFactory解释的话就可以被显示,请参考setMimeSourceFactory()。
如果你想要一个有更多导航的文本浏览器,请使用QTextBrowser。如果你只是想显示一小条多信息文本,请使用QLabel或者QSimpleRichText。
如果你创建一个新的QTextEdit并且想允许用户编辑多信息文本,请调用setTextFormat(Qt::RichText)来确保文本被看做多信息文本。(多信息文本使用HTML标记来设置文本格式属性。关于被支持的HTML标记的信息请参考QStyleSheet。)如果你不明确地调用setTextFormat(),文本编辑将会猜测文本自己是多信息文本还是一般文本。这也就是说如果文本看起来像HTML或XML,它可能被解释为多信息文本,所以你应该调用setTextFormat(Qt::PlainText)来保护这些文本。
注意我们并不是要为Qt添加一个具有所有特征的网页浏览器窗口部件(因为这将很容易使Qt的大小加倍并且只有很少的应用程序可以从这里受益)。Qt中的多信息文本支持是被设计为应用程序提供一个快速、可移植并且有效率地方式来添加合理的在线帮助工具,并且提供一个多信息文本编辑器的基础。
QTextEdit可以显示一个包括表格和图片的大的HTML子集。
文本通过使用setText()来设置或者替换,它删除任何已经存在的文本并且用传递给setText()调用的文本替换它。如果你使用继承HTML(强制使用setTextFormat(RichText))调用setText(),并且然后调用text(),返回的文本可能有不同的标签,但是它们呈现的都是一样的。文本可以使用insert()、paste()、pasteSubType()和append()来插入。被添加的文本没有进入撤销历史中,这使得append()更快并且消耗更少的内存。文本也可以被cut()。整个文本可以使用clear()来被删除并且被选择的文本可以使用removeSelectedText()来被删除。被选择(被标记)的文本也可以使用del()来被删除(如果没有文本被选择,这将删除光标右面的字符)。
可以使用setText()和text()来达到载入和保存文本的目的,例如:
QFile file( fileName ); // 从文件中读取文本 if ( file.open( IO_ReadOnly ) ) { QTextStream ts( &file ); textEdit->setText( ts.read() ); }
QFile file( fileName ); // 把文本写入到文件中 if ( file.open( IO_WriteOnly ) ) { QTextStream ts( &file ); ts << textEdit->text(); textEdit->setModified( FALSE ); }
默认这个文本编辑会在空白符号处自动换行来适应文本编辑窗口部件。setWordWrap()函数用来指定你想要的自动换行方式,或者如果你不像要任何自动换行,请使用NoWrap。调用setWordWrap()来设置固定的像素宽度FixedPixelWidth,或者由setWrapColumnOrWidth()确定的像素或者列数的字符列数(例如80列)FixedColumnWidth。如果你是用自动换行来适应窗口部件的宽度WidgetWidth,你可以使用setWrapPolicy()来指定是在空白符号或者任何地方自动换行。
背景色的设置与其它窗口部件不同,使用setPaper()。你可以指定画刷风格是一个普通颜色或者一个复杂的像素映射。
超文本链接可以自动加上下划线,这个可以通过setLinkUnderline()来改变。tab stop宽度可以使用setTabStopWidth()来设置。
zoomIn()和zoomOut()函数能够用来通过增加(对于zoomOut()是减少)使用的点的大小来重新定义文本的大小。
lines()函数返回文本中的行数并且paragraphs()返回段落数。特定段落中的函数可以通过linesOfParagraph()返回。整个文本的字符长度可以通过length()返回。
你可以滚动到文本中的一个锚,也就是通过scrollToAnchor()到达<a name="anchor">。find()函数可以被用来找到和选择文本中的给定字符串。
只读的QTextEdit提供了和(废弃的)QTextEdit相同的功能。(QTextView仍被提供用来保证旧代码的兼容性。)
当QTextEdit被使用的时候,只读的键绑定仅限于浏览,并且文本只能被鼠标选定:
按键 | 操作 |
---|---|
UpArrow | 向上移动一行 |
DownArrow | 向下移动一行 |
LeftArrow | 向左移动一个字符 |
RightArrow | 向右移动一个字符 |
PageUp | 向上移动一页(视口) |
PageDown | 向下移动一页(视口) |
Home | 移动到文本开始处 |
End | 移动到文本结束处 |
Shift+Wheel | 水平的滚动文本(Wheel就是鼠标滚轮) |
Ctrl+Wheel | 缩放文本 |
文本编辑也可以提供一些元信息。例如,documentTitle()函数将返回来自HTML的<title>标签中的文本。
文本编辑中显示的文本有一个context。context就是文本编辑的QMimeSourceFactory用来解析文件和图片的定位的路径。当查询数据时,它被传递给mimeSourceFactory()。(请参考See QTextEdit()和context()。)
使用QTextEdit作为显示窗口部件的所有信息这里也适用。
当前格式属性可以通过setItalic()、setBold()、setUnderline()、setFamily()(字体族)、setPointSize()、setColor()和setCurrentFont()来设置。当前段落的对齐方式使用setAlignment()来设置。
使用setSelection()来选择文本。setSelectionAttributes()函数用来指出被选择文本应该如何被显示。使用hasSelectedText()来搜索是否有任何文本被选择。当前被选择文本的位置可以由getSelection()提供并且被选择文本本身被selectedText()返回。选择可以使用copy()来复制到剪贴板,或者使用cut()剪切到剪贴板中。它可以被removeSelectedText()删除。使用selectAll()可以选择(或者取消选择)整个文本。QTextEdit支持多重选择。绝大多数选择函数是在默认选择(选择区0)中操作。如果用户按下非选择键,例如没有按下Shift的情况下的一个光标键,所有选择都被清空。
使用setCursorPosition()和getCursorPosition()可以分别设置和获得光标的位置。当光标被移动,信号currentFontChanged()、currentColorChanged()和currentAlignmentChanged()被发射来影响新光标位置的字体、颜色和对齐方式。
如果文本改变了,textChanged()信号被发射,并且如果用户通过按下回车键或者换行键插入一个新行,returnPressed()被发射。如果文本已经被修改,isModified()函数将会返回真。
QTextEdit提供基于命令的撤销和恢复。使用setUndoDepth()可以设置命令历史的深度,默认为100步。调用undo()或redo()可以撤销或者恢复上一次操作。信号undoAvailable()和redoAvailable()表明撤销和恢复操作是否可以被执行。
indent()函数用来再次缩进一个段落。它对于代码编辑器是很有用的,例如,Qt设计器的代码编辑器中,Ctrl+I调用indent()函数。
编辑中被实现的键绑定的列表:
按键 | 操作 |
---|---|
Backspace | 删除光标左侧的字符 |
Delete | 删除光标右侧的字符 |
Ctrl+A | 移动光标到行首 |
Ctrl+B | 向左移动光标一个字符 |
Ctrl+C | 复制标定的文本到剪贴板(也就是Windows下的Ctrl+Insert) |
Ctrl+D | 删除光标右侧的字符 |
Ctrl+E | 移动光标到行尾 |
Ctrl+F | 向右移动光标一个字符 |
Ctrl+H | 删除光标左侧的字符 |
Ctrl+K | 删除到行尾 |
Ctrl+N | 移动光标到下一行 |
Ctrl+P | 移动光标到上一行 |
Ctrl+V | 把剪贴板文本粘贴到行编辑中(也就是Windows下的Shift+Insert) |
Ctrl+X | 剪切标定的文本,复制到剪贴板(也就是Windows下的Shift+Delete) |
Ctrl+Z | 撤销最后一次操作 |
Ctrl+Y | 恢复最后一次操作 |
LeftArrow | 向左移动光标一个字符 |
Ctrl+LeftArrow | 向左移动光标一个单字 |
RightArrow | 向右移动光标一个字符 |
Ctrl+RightArrow | 向右移动光标一个单字 |
UpArrow | 移动光标到上一行 |
Ctrl+UpArrow | 移动光标到上一个单字 |
DownArrow | 移动光标到下一行 |
Ctrl+Down Arrow | 移动光标到下一个单字 |
PageUp | 移动光标到上一页 |
PageDown | 移动光标到下一页 |
Home | 移动光标到行首 |
Ctrl+Home | 移动光标到文首 |
End | 移动光标到行尾 |
Ctrl+End | 移动光标到文尾 |
Shift+Wheel | 水平的滚动文本(Wheel就是鼠标滚轮) |
Ctrl+Wheel | 缩放文本 |
要选择(标定)文本,按下一个移动键的同时按住Shift键,例如Shift+右箭头将会选择右面的字符,并且Shift+Ctrl+右箭头将会选择右面的单字,等等。
默认情况下,文本编辑窗口部件在插入模式下工作,所以用户输入的文本都被插入到文本编辑中并且光标右面的文本都会移动到不碍事的地方。使用setOverwriteMode(),这个模式可以被改为覆盖,这时新文本将覆盖光标右面存在的任何文本。
这个枚举变量被moveCursor()使用,它用来指定光标应该被移动的方向:
这个枚举变量被doKeyboardAction()使用,它用来指定哪个操作被执行:
这个枚举变量被用来设置文本的垂直对齐方式。
这个枚举变量定义了QTextEdit的自动换行模式。下面这些值是有效的:
这个枚举变量定义了自动换行模式在哪里自动换行。
下面这些值是有效的:
也可以参考wrapPolicy。
context是文本编辑的QMimeSourceFactory用来解析文件和图片的定位的路径。当查询数据时,它被传递给mimeSourceFactory()。
例如,如果文本包含一个文本标签<img src="image.png">,并且上下文为“path/to/look/in”,那么QMimeSourceFactory将会试图从“path/to/look/in/image.png”载入图片。如果标签为<img src="/image.png">,context将不会被使用(因为QMimeSourceFactory识别出了我们使用的是绝对路径)并且将会试图载入“/image.png”。context也可以正确的适用于hrefs,例如<a href="target.html">Target</a>,将会被识别为“path/to/look/in/target.html”。
也可以参考setAlignment()。
实例:network/clientserver/client/client.cpp、network/clientserver/server/server.cpp、network/httpd/httpd.cpp和process/process.cpp。
也可以参考setBold()。
也可以参考cut(), removeSelectedText()和text。
也可以参考text。
实例:helpviewer/helpwindow.cpp和qdir/qdir.cpp。
也可以参考hasSelectedText和copyAvailable()。
当文本编辑中的文本被选择或者取消选择时,这个信号被发射。
当文本被选择时,这个信号被发射,这时yes被设置为真。如果没有文本被选择或者如果被选择文本被取消选择,这个信号被发射,这时yes被设置为假。
如果yes为真,那么copy()可以被用来复制所选文本到剪贴板。如果yes为假,那么copy()什么也不做。
也可以参考selectionChanged()。
这个函数被用来在文档pos位置创建一个右键弹出菜单。如果你想创建一个自定义弹出菜单,重新实现这个函数并且返回被创建的弹出菜单。弹出菜单的所有权被传递给调用者。
这个函数是废弃的。它的提供只是为了保证旧代码能够工作。我们强烈建议在新代码中不要使用它。
这个函数被用来创建一个右键弹出菜单。如果你想创建一个自定义弹出菜单,重新实现这个函数并且返回被创建的弹出菜单。弹出菜单的所有权被传递给调用者。
这个函数只有在createPopupMenu( const QPoint & )返回0时才能被调用。
如果当前段落的对齐方式已经改变时,这个信号被发射。
新的对齐方式是a。
也可以参考setAlignment()。
如果当前格式的颜色已经改变时,这个信号被发射。
新的颜色是c。
也可以参考setColor()。
如果当前格式的字体已经改变时,这个信号被发射。
新的字体是f。
也可以参考setCurrentFont()。
如果当前格式的垂直对齐方式已经改变时,这个信号被发射。
新的垂直对齐方式是a。
也可以参考setVerticalAlignment()。
如果光标位置发生改变,这个信号被发射。c指向文本光标对象。
也可以参考setCursorPosition()。
如果光标位置发生改变,这个信号被发射。para包含段落索引并且pos包含段落中的字符位置。
也可以参考setCursorPosition()。
如果没有被选择文本(在选择区0中),就什么也不发生。
也可以参考QTextEdit::copy(), paste()和pasteSubType()。
也可以参考removeSelectedText()和cut()。
返回从文本中解析的文档标题。详细情况请参考“documentTitle”属性。
也可以参考setCursorPosition()。
也可以参考setFamily(), setCurrentFont()和setPointSize()。
如果para和index都为零,搜索将从当前光标位置开始。如果para和index全不为零,搜索将从*para段的*index字符位置开始。
如果cs为真,搜索是区分大小写的,否则它是不区分大小写的。如果wo为真,搜索将查找匹配整个单字的,否则它搜索任何匹配的文本。如果forward为真(默认),搜索将从开始位置到文尾进行工作,否则它从开始位置到文首进行工作。
如果expr被找到,函数返回真。如果index和para不为零,被找到的匹配项的第一个字符的段落号被放到*para,并且这个字符在段落中的索引位置被放到*index。
如果expr没有被找到,函数返回假。如果index和para不为零,并且expr没有被找到,*index和*para都是不确定的。
也可以参考setCurrentFont(), setFamily()和setPointSize()。
实例:action/application.cpp、application/application.cpp、mdi/application.cpp和qwerty/qwerty.cpp。
也可以参考setCursorPosition()。
如果没有选择,*paraFrom、*indexFrom、*paraTo和 *indexTo都被设置为-1。
paraFrom、indexFrom、paraTo和indexTo都必须为非空整形指针。
selNum是选择的数量(多重选择是被支持的)。它默认为0(默认选择)。
也可以参考setSelection()和selectedText。
如果在选择区0中一些文本被选择,返回真,否则返回假。详细情况请参考“hasSelectedText”属性。
从QWidget中被重新实现。
也可以参考paste()和pasteSubType()。
如果文档已经被用户修改,返回真,否则返回假。详细情况请参考“modified”属性。
返回文本编辑的覆盖模式。详细情况请参考“overwriteMode”属性。
如果文本编辑是只读的,返回真,否则返回假。详细情况请参考“readOnly”属性。
如果撤销/恢复是生效的,返回真,否则返回假。详细情况请参考“undoRedoEnabled”属性。
也可以参考setItalic()。
从QWidget中被重新实现。
在QTextBrowser中被重新实现。
返回文本中的字符数。详细情况请参考“length”属性。
警告: 这个函数也许比较慢。行数会在自动换行期间发生改变,所以这个函数不得不遍历所有的段落并且分别得到它们的行数。
实例:action/application.cpp和application/application.cpp。
如果超文本链接将显示下划线,返回真,否则返回假。详细情况请参考“linkUnderline”属性。
也可以参考setMimeSourceFactory()。
实例:helpviewer/helpwindow.cpp和qdir/qdir.cpp。
当文档修改发生改变时,这个信号被发射。如果m为真,文档被修改了,否则修改状态已经被重置为未修改。
也可以参考modified。
返回背景(纸)的画刷。详细情况请参考“paper”属性。
如果剪贴板中没有文本,就什么也没发生。
也可以参考pasteSubType(), cut()和QTextEdit::copy()。
如果剪贴板中没有subtype格式的文本,就什么也没发生。
也可以参考paste(), cut()和QTextEdit::copy()。
也可以参考setCursorPosition()。
也可以参考setFamily(), setCurrentFont()和setPointSize()。
如果没有操作可以恢复,例如,在撤销/恢复历史中没有恢复步骤,就什么也没发生。
也可以参考redoAvailable(), undo()和undoDepth。
当恢复的可用性发生改变时,这个信号被发射。如果yes为真,那么redo()可以一直工作到redoAvailable( FALSE )被发射。
也可以参考selectedText和removeSelection()。
也可以参考removeSelectedText()。
尽管在内部广泛地使用,但是你也不应该需要自己调用这个函数。
如果用户按下回车键或者换行键,这个信号被发射。
也可以参考selectedText。
返回被选定文本(从选择区0中)或者如果当前没有被选定文本(在选择区0中)返回空字符串。详细情况请参考“selectedText”属性。
只要选择发生改变,这个信号就被发射。
也可以参考setSelection()和copyAvailable()。
在QMultiLineEdit中被重新实现。
也可以参考bold()。
实例:action/actiongroup/editor.cpp。
设置当前格式的字体为f。
也可以参考font(), setPointSize()和setFamily()。
也可以参考getCursorPosition()。
也可以参考family()和setCurrentFont()。
也可以参考italic()。
设置超文本链接是否显示下划线。详细情况请参考“linkUnderline”属性。
也可以参考mimeSourceFactory()。
设置文档是否已经被用户修改为m。详细情况请参考“modified”属性。
设置文本编辑的覆盖模式为b。详细情况请参考“overwriteMode”属性。
设置背景(纸)的画刷为pap。详细情况请参考“paper”属性。
注意如果s为0或者负数,这个函数的行为是不确定的。
也可以参考pointSize(), setCurrentFont()和setFamily()。
设置文本编辑是否只读为b。详细情况请参考“readOnly”属性。
使用selNum选择区的选择设置。如果selNum为0,这个就是默任选择了。
如果selNum为0,光标被移动到这个选择的结尾,否则光标位置保持不变。
也可以参考getSelection()和selectedText。
这个只在selNum > 0的时候工作。默认选择(selNum == 0)从这个窗口部件的colorGroup()得到它的属性。
也可以参考styleSheet()。
设置tab stop宽度为ts象素。详细情况请参考“tabStopWidth”属性。
设置文本编辑的文本为txt。详细情况请参考“text”属性。
改变文本编辑的文本为txt并且上下文为context。任何以前的文本都被移除。
text可以被解释为一般文本或者多信息文本,取决于textFormat()。默认设置为AutoText,也就是说文本编辑从text中自动检测格式。
选项context就是文本编辑的QMimeSourceFactory用来解析文件和图片的定位的路径。(请参考QTextEdit::QTextEdit()。)当查询数据时,它被传递给mimeSourceFactory()。
注意这个函数会清空撤销/恢复历史。
也可以参考text和textFormat。
设置文本格式:多信息文本、一般文本或者自动文本为f。详细情况请参考“textFormat”属性。
也可以参考underline()。
设置撤销历史的深度为d。详细情况请参考“undoDepth”属性。
设置撤销/恢复是否生效为b。详细情况请参考“undoRedoEnabled”属性。
设置自动换行模式为mode。详细情况请参考“wordWrap”属性。
设置将被自动换行的文本的位置(根据自动换行模式决定是象素还是列数)。详细情况请参考“wrapColumnOrWidth”属性。
设置自动换行策略,是在空白符号还是在任意处为policy。详细情况请参考“wrapPolicy”属性。
也可以参考setStyleSheet()。
返回tab stop的象素宽度。详细情况请参考“tabStopWidth”属性。
返回文本编辑的文本。详细情况请参考“text”属性。
返回para段落的文本。
如果textFormat()为RichText,文本将包含HTML格式标签。
只要文本编辑中的文本发生改变,这个信号就被发射。
实例:helpviewer/helpwindow.cpp、qwerty/qwerty.cpp和rot13/rot13.cpp。
返回文本编辑的文本光标。
警告: QTextCursor不在公有的应用编程接口中,但在一些特殊环境中你也许需要使用它。
返回文本格式:多信息文本、一般文本或者自动文本。详细情况请参考“textFormat”属性。
也可以参考setUnderline()。
如果没有操作可以撤销,例如在撤销/恢复历史中没有撤销步骤,那就什么也没发生。
也可以参考undoAvailable(), redo()和undoDepth。
当撤销的可能性发生变化时,这个信号被发射。如果yes为真,那么undo()将会一直工作到undoAvailable( FALSE )下一次被发射为止。
返回撤销历史的深度。详细情况请参考“undoDepth”属性。
返回自动换行模式。详细情况请参考“wordWrap”属性。
返回将被自动换行的文本的位置(根据自动换行模式决定是象素还是列数)。详细情况请参考“wrapColumnOrWidth”属性。
返回自动换行策略是在空白符号还是在任意处。详细情况请参考“wrapPolicy”属性。
也可以参考zoomOut()。
通过把基本字体大小增大1点并且重新计算所有字体大小来放大文本。这不会改变任何图片的大小。
也可以参考zoomOut()。
也可以参考zoomIn()。
通过把基本字体大小缩小1点并且重新计算所有字体大小来放大文本。这不会改变任何图片的大小。
也可以参考zoomIn()。
这个属性保存的是从文本中分析出的文档标题。
对于PlainText,标题将为空字符串。对于RichText,如果存在,标题将为<title>标签之间的文本,否则为空字符串。
通过documentTitle()来获得属性值。
这个属性保存的是是否有文本被选择到选择区0中。
通过hasSelectedText()来获得属性值。
这个属性保存的是文本的字符数。
通过length()来获得属性值。
这个属性保存的是超文本链接是否使用下划线。
如果为真(默认),超文本链接将被显示下划线。如果为假,链接将不被显示下划线。
通过setLinkUnderline()设置属性值并且通过linkUnderline()来获得属性值。
这个属性保存的是文档是否已经被用户修改。
通过setModified()设置属性值并且通过isModified()来获得属性值。
这个属性保存的是文本编辑的覆盖模式。
如果为真(默认),用户输入的文本都被插入到文本编辑中并且光标右面的文本都会移动到不碍事的地方。如果为假,编辑器是覆盖模式,也就是说新文本将覆盖光标右面存在的任何文本。
通过setOverwriteMode()设置属性值并且通过isOverwriteMode()来获得属性值。
这个属性保存的是背景(纸)的画刷。
这个画刷是当前用于绘制文本编辑的背景的。初始设置是空画刷。
通过setPaper()设置属性值并且通过paper()来获得属性值。
这个属性保存的是文本编辑是否只读。
在只读的文本编辑中,用户只能在文本中浏览和选择文本,修改文本是不可能的。
这个属性默认为假。
通过setReadOnly()设置属性值并且通过isReadOnly()来获得属性值。
这个属性保存的是被选择的文本(在选择区0中)或者如果当前没有被选择的文本(在选择区0中)就是空字符串。
这个文本不管文本格式总是被作为PlainText返回。在Qt的未来的版本中,根据文本格式,HTML的子集可能被返回。
也可以参考hasSelectedText。
通过selectedText()来获得属性质。
这个属性保存的是tab stop的象素宽度。
通过setTabStopWidth()设置属性值并且通过tabStopWidth()来获得属性值。
这个属性保存的是文本编辑的文本。
这里没有默认文本。
在设置的时候,任何以前的文本都被删除了。
根据textFormat(),文本可以被作为一般文本或者多信息文本来解释。默认设置为AutoText,也就是说文本编辑自动探测文本格式。
对于多信息文本,在可编辑的QTextEdit上调用text()将会导致文本会被文本编辑重新生成。这也许意味着被返回的QString也许和原来被设置的不同。
也可以参考textFormat。
通过setText()设置属性值并且通过text()来获得属性值。
这个属性保存的是文本格式:多信息文本、一般文本或者自动文本。
文本格式是下列之一:
通过setTextFormat()设置属性值并且通过textFormat()来获得属性值。
这个属性保存的是撤销历史的深度。
也就是撤销/恢复历史中的最大步数。默认为100。
通过setUndoDepth()设置属性值并且通过undoDepth()来获得属性值。
这个属性保存的是撤销/恢复是否生效。
默认为真。
通过setUndoRedoEnabled()设置属性值并且通过isUndoRedoEnabled()来得到属性值。
这个属性保存的是自动换行模式。
默认模式是WidgetWidth,也就是在文本编辑右边缘的单字将被自动换行。在空白字符处自动换行,保证整个单字不被分割。如果你想在单字内自动换行,请使用setWrapPolicy()。如果你设置自动换行模式为FixedPixelWidth或者FixedColumnWidth,你也应该调用setWrapColumnOrWidth()你希望的宽度。
也可以参考WordWrap、wrapColumnOrWidth和wrapPolicy。
通过setWordWrap()设置属性值并且通过wordWrap()来获得属性值。
这个属性保存的是被自动换行的文本的位置(根据自动换行模式来决定是像素还是列)。
如果自动换行模式为FixedPixelWidth,那么这个值就是从文本编辑左边界开始需要自动换行的象素数量。如果自动换行模式为FixedColumnWidth,那么这个值就是从文本编辑左边界开始需要自动换行的列数。
也可以参考wordWrap。
通过setWrapColumnOrWidth()设置属性值并且通过wrapColumnOrWidth()来获得属性值。
这个属性保存的是自动换行策略,在空白符号还是在任何地方。
当自动换行模式不是NoWrap的时候,定义文本在哪里自动换行。可以选择的是AtWhiteSpace(默认)和Anywhere。
也可以参考wordWrap。
通过setWrapPolicy()设置属性值并且通过wrapPolicy()来获得属性值。
这个文件是Qt工具包一部分。 版权所有 © 1995-2002 Trolltech。保留所有权利。
Copyright © 2002 Trolltech | Trademarks | 译者:Cavendish | Qt 3.0.5版
|