class QTextLine#

QTextLine 类表示 QTextLayout 中的文本行。 更多...

概述#

方法#

注意

本文档可能包含来自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() height()

cursorToX(cursorPos[, edge=QTextLine.Edge.Leading])#
参数:
  • cursorPos – int

  • 边缘Edge

返回类型::

PyObject

这是一个重载的函数。

descent()#
返回类型::

float

返回行的下降大小。

另请参阅

ascent() height()

draw(painter, position)#
参数:

在指定的位置和给定的 painter 上绘制线条。

glyphRuns([from=-1[, length=-1]])#
参数:
  • from – int

  • length – int

返回类型::

返回所有此 QTextLine 中的 glyfts 的索引和位置列表。

这是一个重载的函数。

对于由 fromlength 定义的字符范围返回所有 glyfts 的索引和位置。 from 索引相对于包含的 QTextLayout 中的文本开头,且范围必须在 QTextLine 的范围内,如 textStart()textLength() 函数所给出的.

如果 from 为负数,则默认为 textStart();如果 length 为负数,则默认为 textLength() 的返回值。

注意

这与调用 glyphRuns (from, length, QTextLayout:: GlyphRunRetrievalFlag:: GlyphIndexes | QTextLayout:: GlyphRunRetrievalFlag:: GlyphPositions) 相当。

另请参阅

glyphRuns()

glyphRuns(from, length, flags)
参数:
返回类型::

返回所有此 QTextLine 中的 glyfts 的索引和位置列表。

对于由 fromlength 定义的字符范围返回所有 glyfts 的索引和位置。 from 索引相对于包含的 QTextLayout 中的文本开头,且范围必须在 QTextLine 的范围内,如 textStart()textLength() 函数所给出的.

retrievalFlags 指定了从布局中以 QGlyphRun 获取哪些属性。为了最小化分配内存和消耗,应该只包括您以后需要访问的属性。

如果 from 为负数,则默认为 textStart();如果 length 为负数,则默认为 textLength() 的返回值。

另请参阅

glyphRuns()

height()#
返回类型::

float

返回行的长度。这等于 ascent() + descent(),如果不包括前导 IDEOGRAPHES。如果包括前导 IDEOGRAPHES,则等于 ascent() + descent() + leading()

horizontalAdvance()#
返回类型::

float

返回文本的水平移动距离。文本的移动距离是从当前位置到下一个文本自然绘制位置的间距。

通过将移动距离添加到文本行的位置,并使用这个位置作为第二个文本行的位置,您可以分别在两边排列这两行,中间没有间隙。

isValid()#
返回类型::

bool

如果该文本行是有效的,则返回 true;否则返回 false

leading()#
返回类型::

float

返回行的前导。

另请参阅

ascent() descent() height()

leadingIncluded()#
返回类型::

bool

如果正前导包含在行的高度中,则返回 true;否则返回 false

默认情况下,不包括前导。

另请参阅

setLeadingIncluded()

lineNumber()#
返回类型::

int

返回文本引擎中行的位置。

naturalTextRect()#
返回类型::

QRectF

返回覆盖行的矩形。

naturalTextWidth()#
返回类型::

float

返回占用行的文本宽度。这始终小于或等于 width() ,并且是 layout() 可以使用的最小宽度,而不会改变换行位置。

position()#
返回类型::

QPointF

返回相对于文本布局位置的行位置。

另请参阅

setPosition()

rect()#
返回类型::

QRectF

返回行的边界矩形。

另请参阅

x() y() textLength() width()

setLeadingIncluded(included)#
参数:

included - bool

如果 included 为 true,将正首行包含到行的高度中;否则不包含首行。

默认情况下,不包括前导。

请注意,负首行将被忽略,它必须在代码中处理,通过允许行重叠来处理。

另请参阅

leadingIncluded()

setLineWidth(width)#
参数:

width - float

使用给定的 width 布局行。从行的起始位置填充尽可能多的字符到行中。如果文本不能在行的末尾分割,它将填充到下一个空白或文本末尾的额外字符。

setNumColumns(columns)#
参数:

columns - int

布局行。从行的起始位置开始填充指定 numColumns 的字符数。如果文本不能分成 numColumns 个字符,则行将填充到下一个空白或文本末尾的字符数。

setNumColumns(columns, alignmentWidth)
参数:
  • columns - int

  • alignmentWidth – float

布置行。行将从其起始位置填充指定的 numColumns 个字符。如果文本不能分割到 numColumns 个字符,行将填充到下一个空白或文本末尾。提供的 alignmentWidth 用作对齐的参考宽度。

setPosition(pos)
参数:

posQPointF

将行移动到位置 pos

另请参阅

position()

textLength()
返回类型::

int

返回行中文本长度。

另请参阅

naturalTextWidth()

textStart()
返回类型::

int

返回从传递给 QTextLayout 的字符串开始的位置。

width()
返回类型::

float

返回由布局()函数指定的行的宽度。

x()
返回类型::

float

返回行的 x 位置。

xToCursor(x[, edge=QTextLine.CursorPosition.CursorBetweenCharacters])
参数:
返回类型::

int

将 x 坐标 x 转换为最近的匹配光标位置,具体取决于光标位置类型,cpos。请注意,结果光标位置包括可能的预编辑文本区域。

另请参阅

cursorToX()

y()#
返回类型::

float

返回行的 y 位置。