- class QTextLine#
QTextLine类表示QTextLayout中的文本行。 更多...概述#
方法#
def
__init__()def
ascent()def
cursorToX()def
descent()def
draw()def
glyphRuns()def
height()def
isValid()def
leading()def
lineNumber()定义
position()定义
rect()定义
textLength()定义
textStart()定义
width()定义
x()定义
xToCursor()定义
y()
注意
本文档可能包含来自C++自动转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有任何问题,也可以在https:/bugreports.qt.io/projects/PYSIDE上创建工单让我们知道。
详细说明#
通常可以通过
createLine()来创建文本行。创建后,可以使用
setLineWidth()或setNumColumns()函数来填充文本行。一行具有多个属性,包括其所占的矩形、rect()、其坐标x()和y(),其文本长度textLength()、宽度width()和自然文本宽度naturalTextWidth(),以及相对于文本的上升段ascent()和下降段descent()。行的光标位置可以通过cursorToX()获取,其反函数为xToCursor()。可以使用setPosition()函数移动行。- class Edge#
常量
描述
QTextLine.Leading
QTextLine.Trailing
- class CursorPosition#
常量
描述
QTextLine.CursorBetweenCharacters
QTextLine.CursorOnCharacter
- __init__()#
创建一个无效的行。
- ascent()#
- 返回类型::
float
返回行的上升段。
这是一个重载的函数。
- descent()#
- 返回类型::
float
返回行的下降大小。
在指定的位置和给定的
painter上绘制线条。- glyphRuns([from=-1[, length=-1]])#
- 参数:
from – int
length – int
- 返回类型::
返回所有此
QTextLine中的 glyfts 的索引和位置列表。
这是一个重载的函数。
对于由
from和length定义的字符范围返回所有 glyfts 的索引和位置。from索引相对于包含的QTextLayout中的文本开头,且范围必须在QTextLine的范围内,如textStart()和textLength()函数所给出的.如果
from为负数,则默认为textStart();如果length为负数,则默认为textLength()的返回值。注意
这与调用
glyphRuns(from, length, QTextLayout:: GlyphRunRetrievalFlag:: GlyphIndexes | QTextLayout:: GlyphRunRetrievalFlag:: GlyphPositions) 相当。另请参阅
- glyphRuns(from, length, flags)
- 参数:
from – int
length – int
标志 – 结合
GlyphRunRetrievalFlag
- 返回类型::
返回所有此
QTextLine中的 glyfts 的索引和位置列表。
对于由
from和length定义的字符范围返回所有 glyfts 的索引和位置。from索引相对于包含的QTextLayout中的文本开头,且范围必须在QTextLine的范围内,如textStart()和textLength()函数所给出的.retrievalFlags指定了从布局中以QGlyphRun获取哪些属性。为了最小化分配内存和消耗,应该只包括您以后需要访问的属性。如果
from为负数,则默认为textStart();如果length为负数,则默认为textLength()的返回值。另请参阅
- height()#
- 返回类型::
float
返回行的长度。这等于
ascent()+descent(),如果不包括前导 IDEOGRAPHES。如果包括前导 IDEOGRAPHES,则等于ascent()+descent()+leading()。- horizontalAdvance()#
- 返回类型::
float
返回文本的水平移动距离。文本的移动距离是从当前位置到下一个文本自然绘制位置的间距。
通过将移动距离添加到文本行的位置,并使用这个位置作为第二个文本行的位置,您可以分别在两边排列这两行,中间没有间隙。
- isValid()#
- 返回类型::
bool
如果该文本行是有效的,则返回
true;否则返回false。- leading()#
- 返回类型::
float
返回行的前导。
- leadingIncluded()#
- 返回类型::
bool
如果正前导包含在行的高度中,则返回
true;否则返回false。默认情况下,不包括前导。
另请参阅
- lineNumber()#
- 返回类型::
int
返回文本引擎中行的位置。
返回覆盖行的矩形。
- naturalTextWidth()#
- 返回类型::
float
返回占用行的文本宽度。这始终小于或等于
width(),并且是layout()可以使用的最小宽度,而不会改变换行位置。返回相对于文本布局位置的行位置。
另请参阅
返回行的边界矩形。
另请参阅
- setLeadingIncluded(included)#
- 参数:
included - bool
如果 included 为 true,将正首行包含到行的高度中;否则不包含首行。
默认情况下,不包括前导。
请注意,负首行将被忽略,它必须在代码中处理,通过允许行重叠来处理。
另请参阅
- setLineWidth(width)#
- 参数:
width - float
使用给定的
width布局行。从行的起始位置填充尽可能多的字符到行中。如果文本不能在行的末尾分割,它将填充到下一个空白或文本末尾的额外字符。- setNumColumns(columns)#
- 参数:
columns - int
布局行。从行的起始位置开始填充指定
numColumns的字符数。如果文本不能分成numColumns个字符,则行将填充到下一个空白或文本末尾的字符数。- setNumColumns(columns, alignmentWidth)
- 参数:
columns - int
alignmentWidth – float
布置行。行将从其起始位置填充指定的
numColumns个字符。如果文本不能分割到numColumns个字符,行将填充到下一个空白或文本末尾。提供的alignmentWidth用作对齐的参考宽度。- setPosition(pos)
- 参数:
pos –
QPointF
将行移动到位置
pos。另请参阅
- textLength()
- 返回类型::
int
返回行中文本长度。
另请参阅
- textStart()
- 返回类型::
int
返回从传递给
QTextLayout的字符串开始的位置。- width()
- 返回类型::
float
返回由布局()函数指定的行的宽度。
- x()
- 返回类型::
float
返回行的 x 位置。
另请参阅
- xToCursor(x[, edge=QTextLine.CursorPosition.CursorBetweenCharacters])
- 参数:
x – float
边缘 –
CursorPosition
- 返回类型::
int
将 x 坐标
x转换为最近的匹配光标位置,具体取决于光标位置类型,cpos。请注意,结果光标位置包括可能的预编辑文本区域。另请参阅
- y()#
- 返回类型::
float
返回行的 y 位置。
另请参阅