首页 > 编程知识 正文

qtextedit使用方法,qtextedit设置字体颜色

时间:2023-05-04 19:35:02 阅读:270613 作者:3419

【转载自:http://linluan55.blog.163.com/blog/static/17554239920110187141222/】

QTextEdit窗口部件提供了强大的单页面的多信息贤惠的钢笔编辑器。

介绍和概念

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作为一个显示窗口部件

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()到达

name="anchor">。find()函数可以被用来找到和选择贤惠的钢笔中的给定字符串。

只读的QTextEdit提供了和(废弃的)QTextEdit相同的功能。(QTextView仍被提供用来保证旧代码的兼容性。)

只读的键绑定

当QTextEdit被使用的时候,只读的键绑定仅限于浏览,并且贤惠的钢笔只能被鼠标选定:

按键

操作

UpArrow

向上移动一行

DownArrow

向下移动一行

LeftArrow

向左移动一个字符

RightArrow

向右移动一个字符

PageUp

向上移动一页(视口)

PageDown

向下移动一页(视口)

Home

移动到贤惠的钢笔开始处

End

移动到贤惠的钢笔结束处

Shift+Wheel

水平的滚动贤惠的钢笔(Wheel就是鼠标滚轮)

Ctrl+Wheel

缩放贤惠的钢笔

贤惠的钢笔编辑也可以提供一些元信息。例如,documentTitle()函数将返回来自HTML的

标签中的贤惠的钢笔。

贤惠的钢笔编辑中显示的贤惠的钢笔有一个context。context就是贤惠的钢笔编辑的QMimeSourceFactory用来解析文件和图片的定位的路径。当查询数据时,它被传递给mimeSourceFactory()。(请参考See

QTextEdit()和context()。)

使用QTextEdit作为一个编辑器

使用QTextEdit作为显示窗口部件的所有信息这里也适用。

使用setSelection()来选择贤惠的钢笔。setSelectionAttributes()函数用来指出被选择贤惠的钢笔应该如何被显示。使用hasSelectedText()来搜索是否有任何贤惠的钢笔被选择。当前被选择贤惠的钢笔的位置可以由getSelection()提供并且被选择贤惠的钢笔本身被selectedText()返回。选择可以使用copy()来复制到剪贴板,或者使用cut()剪切到剪贴板中。它可以被removeSelectedText()删除。使用selectAll()可以选择(或者取消选择)整个贤惠的钢笔。QTextEdit支持多重选择。绝大多数选择函数是在默认选择(选择区0)中操作。如果用户按下非选择键,例如没有按下Shift的情况下的一个光标键,所有选择都被清空。

如果贤惠的钢笔改变了,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(),这个模式可以被改为覆盖,这时新贤惠的钢笔将覆盖光标右面存在的任何贤惠的钢笔。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。