- 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 位置。
另请参阅