Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QTextLayout类用于布局并呈现文本。More...
该QTextLayout类用于布局并呈现文本。
它提供了从现代文字排版引擎预期的许多功能,包括Unicode标准的渲染,断行和处理游标定位。它也可以产生并呈现独立于设备的布局,东西是所见即所得的应用非常重要。
这个类有一个相当低级别的API ,除非你打算实现自己的文本呈现为一些专门的小工具,你可能不会需要直接使用它。
QTextLayout可以同时用于普通和丰富的文本。
QTextLayout可以被用来创建一个序列QTextLine用实例给出的宽度,并且可以在屏幕上独立地放置它们。一旦布局完成,这些线可以得出一个油漆设备上。
进行布局的文本可以在构造函数中提供或设置setText( ) 。
布局可以被看作是一个序列QTextLine对象;使用createLine( )来创建一个QTextLine例如,与lineAt()或lineForTextPosition( )来检索创建的行。
下面是一个代码片段,演示了布局阶段:
int leading = fontMetrics.leading(); qreal height = 0; textLayout.beginLayout(); while (1) { QTextLine line = textLayout.createLine(); if (!line.isValid()) break; line.setLineWidth(lineWidth); height += leading; line.setPosition(QPointF(0, height)); height += line.height(); } textLayout.endLayout();
文字可以再通过调用布局的呈现draw( )函数:
QPainter painter(this); textLayout.draw(&painter, QPoint(0, 0));
文本中的一个给定的位置,你可以找到一个有效的光标位置与isValidCursorPosition( )nextCursorPosition()和previousCursorPosition( ) 。
该QTextLayout本身可被定位以setPosition() ,它有一个boundingRect() ,和一个minimumWidth()和一个maximumWidth( ) 。
Constant | Value |
---|---|
QTextLayout.SkipCharacters | 0 |
QTextLayout.SkipWords | 1 |
构造一个空的文本布局。
See also setText( ) 。
构造一个文本布局奠定了给定的text。
构造一个文本布局奠定了给定的text用指定的font。
所有的度量和布局计算将在绘制设备的条款进行,paintdevice。如果paintdevice为0计算将在屏幕上的指标来完成。
返回由文本布局支持其他格式的列表。
See also setAdditionalFormats()和clearAdditionalFormats( ) 。
开始布局过程。
See also endLayout( ) 。
最小的矩形包含在布局的所有行。
返回True如果完整的布局信息被缓存,否则返回False 。
See also setCacheEnabled( ) 。
清除由文本布局支持其他格式的列表。
See also additionalFormats()和setAdditionalFormats( ) 。
清除布局的线路信息。已调用该函数后,lineCount( )返回0 。
此功能被引入Qt的4.4 。
返回一个新的文本行进行布局,如果有文本被插入到布局,否则返回一个无效的文本行。
文本布局创建布局的最后一行之后开始,或如果布局是空的开始一个新行的对象。布局维护内部光标,每行充满了文本从光标所在位置开始的时候QTextLine.setLineWidth( )函数被调用。
一旦QTextLine.setLineWidth()被调用时,一个新的行可以被创建和填充文本。重复这个过程会布置文本包含在整个区块QTextLayout。如果没有文本左被插入到布局,QTextLine返回的将是无效的(参考isValid ( )将返回False ) 。
这样做的光标运动风格QTextLayout。默认值是Qt.LogicalMoveStyle。
此功能被引入Qt的4.8 。
See also setCursorMoveStyle( ) 。
绘制整个布局上的画家p在所指定的位置pos。所呈现的布局包括给定的selections并通过指定的矩形内裁剪clip。
绘制文本光标与当前的画笔和指定width在给定的position使用painter规定。在文本中的相应位置被指定cursorPosition。
这是一个重载函数。
绘制文本光标与当前的画笔在给定的position使用painter规定。在文本中的相应位置被指定cursorPosition。
结束的布局过程。
See also beginLayout( ) 。
返回当前字体是用于布局,或一个默认的字体,如果没有被设置。
See also setFont( ) 。
返回所有字形的字形索引和位置在这QTextLayout。这是一个昂贵的功能,并且不应该被称为在一个时间敏感的上下文。
此功能被引入Qt的4.8 。
See also draw()和QPainter.drawGlyphRun( ) 。
/返回True如果位置pos是一个有效的光标位置。
在Unicode上下文中的文字部分职位是无效的光标位置,因为该位置是一个Unicode代理或字形集群内。
一字形群集是两个或两个以上构成屏幕上的一个不可分割的实体Unicode字符序列。例如拉丁字符`A ( 0X41 ) ,以及结合diaresis ( 0x308 ) '可以在Unicode中由两个字符, 'A来表示' 。文本光标只能有效地定位之前或之后,这两个人物,他们之间从来没有因为这没有任何意义。在印度语每一个音节构成字形集群。
返回光标位置的左边oldPos,在它旁边。该位置是依赖于字符的视觉位置,后双向重新排序。
此功能被引入Qt的4.8 。
See also rightCursorPosition()和previousCursorPosition( ) 。
返回i个线在这个文本布局的文本。
See also lineCount()和lineForTextPosition( ) 。
返回总行在这个文本布局的数量。
See also lineAt( ) 。
返回包含由指定的光标位置的行pos。
See also isValidCursorPosition()和lineAt( ) 。
最大宽度的布局可能会扩大到,这基本上是整个文本的宽度。
Warning:这个函数只返回一个有效的值的布局已经完成之后。
See also minimumWidth( ) 。
最小宽度的布局需要。这是布局的最小的非易碎的子串的宽度。
Warning:这个函数只返回一个有效的值的布局已经完成之后。
See also maximumWidth( ) 。
后返回下一个有效的光标位置oldPos尊重给定的游标mode。的回报价值oldPos如果oldPos不是一个有效的光标位置。
See also isValidCursorPosition()和previousCursorPosition( ) 。
布局的全球地位。这是独立于布局过程中的边界矩形和。
这个函数中引入了Qt 4.2中。
See also setPosition( ) 。
返回编辑发生之前,将待处理的文本布局的区域的位置。
See also preeditAreaText( ) 。
返回插入在布局编辑发生前的文本。
See also preeditAreaPosition( ) 。
返回前的第一个有效的光标位置oldPos尊重给定的游标mode。的回报价值oldPos如果oldPos不是一个有效的光标位置。
See also isValidCursorPosition()和nextCursorPosition( ) 。
返回光标位置的右侧oldPos,在它旁边。该位置是依赖于字符的视觉位置,后双向重新排序。
此功能被引入Qt的4.8 。
See also leftCursorPosition()和nextCursorPosition( ) 。
设置由文本布局,以支持更多的格式formatList。
See also additionalFormats()和clearAdditionalFormats( ) 。
启用的完整布局信息,如果缓存enable为True,否则将禁用布局缓存。平时QTextLayout调用后抛出的大部分布点信息了endLayout()来减少内存消耗。但是,如果你要绘制奠定了文字后直接启用缓存可能会加快显着绘图。
See also cacheEnabled( ) 。
设置光标的运动风格。如果QTextLayout由文件的支持,你可以忽略这一点,在使用该选项QTextDocument,这个选项对于像小部件QLineEdit或自定义部件没有QTextDocument。默认值是Qt.LogicalMoveStyle。
此功能被引入Qt的4.8 。
See also cursorMoveStyle( ) 。
设置布局的字体给定的font。布局是无效的,必须重新布局。
See also font( ) 。
将文本布局指向p。
See also position( ) 。
设置position和text编辑发生之前被处理在布局区域。
See also preeditAreaPosition()和preeditAreaText( ) 。
设置布局的文本给定的string。布局是无效的,必须重新布局。
当使用这种注意QTextLayout作为一个部分QTextDocument这种方法不会有任何影响。
See also text( ) 。
设置文本选项的结构,控制布局过程中给定的option。
See also textOption( ) 。
返回布局的文本。
See also setText( ) 。
返回用于控制布局过程中的当前文本选项。
See also setTextOption( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |