PySide6.QtQuick.QSGTextNode

class QSGTextNode

QSGTextNode 类是用于在 Qt Quick 场景图中绘制文本布局和文本文档的类。更多

PySide6.QtQuick.QSGTextNode 的继承图

在版本6.7中添加。

概要

方法

虚拟方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

QSGTextNode 可以用于创建需要文本的自定义 Qt Quick 项目。它在 Qt Quick 中被 TextTextEditTextInput 元素使用。

你可以使用createTextNode()创建QSGTextNode对象。addTextLayout()addTextDocument()函数提供了向QSGTextNode添加文本的方法。文本必须已经布局好。

注意

属性必须在调用addTextLayout()addTextDocument()之前设置,才能生效。

注意

QSGTextNode 的销毁需要小心管理。特别是,由于它引用了图形资源,必须在 Qt Quick 场景图失效时删除。如果节点是图的一部分并且设置了 OwnedByParent 标志(这是默认设置),这将自动发生。然而,如果 OwnedByParent 标志被清除并且节点被手动处理,则必须在场景图失效时小心执行此操作。这可以通过连接到 sceneGraphInvalidated() 信号,或者在 QQuickItem 子类中实现一个名为 invalidateSceneGraph() 的槽来完成。有关更多详细信息,请参阅 QQuickItem 的文档。

class TextStyle

此枚举类型描述了可以应用于文本渲染的样式。

常量

描述

QSGTextNode.Normal

文本绘制时未应用任何样式。

QSGTextNode.Outline

文本以轮廓形式绘制。

QSGTextNode.Raised

文本以凸起的方式绘制。

QSGTextNode.Sunken

文本以凹陷的方式绘制。

class RenderType

此枚举类型描述了用于渲染文本的字形节点类型。

常量

描述

QSGTextNode.QtRendering

文本使用每个字形的可缩放距离场进行渲染。

QSGTextNode.NativeRendering

文本使用平台特定的技术进行渲染。

QSGTextNode.CurveRendering

文本使用直接在图形硬件上运行的曲线光栅化器进行渲染。

如果您希望文本在目标平台上看起来更原生,并且不需要诸如文本转换等高级功能,请选择NativeRendering。将此类功能与NativeRendering渲染类型结合使用可能会导致效果不佳,有时甚至会出现像素化的情况。

无论是 Text.QtRendering 还是 Text.CurveRendering 都是硬件加速技术。QtRendering 是两者中较快的,但会使用更多内存,并且在大尺寸时会出现渲染伪影。在 QtRendering 无法提供良好视觉效果或减少图形内存消耗是优先考虑的情况下,应考虑使用 CurveRendering 作为替代方案。

addTextDocument(position, document[, selectionStart=-1[, selectionCount=-1]])
Parameters:

document的内容添加到position处的文本节点。如果selectionStart大于等于0,则这标记了selectionCount个字符的选中区域的第一个字符。选中区域以selectionColor()的背景填充表示,选中的文本以selectionTextColor()的颜色渲染。

此函数将其参数转发给虚拟函数 doAddTextDocument()。

另请参阅

clear() doAddTextDocument()

addTextLayout(position, layout[, selectionStart=-1[, selectionCount=-1[, lineStart=0[, lineCount=-1]]]])
Parameters:
  • positionQPointF

  • 布局QTextLayout

  • selectionStart – int

  • selectionCount – int

  • lineStart – int

  • lineCount – int

layout的内容添加到position处的文本节点。如果selectionStart大于等于0,则这标记了selectionCount个字符的选中区域的第一个字符。选中区域以selectionColor()的背景填充表示,选中的文本以selectionTextColor()渲染。

为了方便起见,lineStartlineCount 可以用来选择从布局中包含的 QTextLine 对象的范围。这在创建省略布局时非常有用。如果 lineCount 小于 0,则该节点将包含从 lineStart 到布局末尾的行。

此函数将其参数转发给虚拟函数 doAddTextLayout()。

另请参阅

clear() doAddTextLayout()

abstract clear()

清除节点的内容,删除表示已添加到其中的布局和文档的节点和其他数据。

abstract color()
Return type:

QColor

返回渲染文本时使用的主要颜色。

另请参阅

setColor()

abstract filtering()
Return type:

过滤

返回用于缩放作为显示文本一部分的图像的采样模式。

另请参阅

setFiltering()

abstract linkColor()
Return type:

QColor

返回文本中超链接的颜色。

另请参阅

setLinkColor()

abstract renderType()
Return type:

RenderType

返回用于渲染文本的字形节点类型。

另请参阅

setRenderType()

abstract renderTypeQuality()
Return type:

整数

返回节点的渲染类型质量。详情请参见setRenderTypeQuality()

另请参阅

setRenderTypeQuality()

abstract selectionColor()
Return type:

QColor

返回当文本的任何部分被标记为选中时,选择背景的颜色。

另请参阅

setSelectionColor()

abstract selectionTextColor()
Return type:

QColor

返回当文本的任何部分被标记为选中时,选中文本的颜色。

abstract setColor(color)
Parameters:

颜色QColor

设置渲染文本时使用的主要颜色为color

默认是黑色: QColor(0, 0, 0).

另请参阅

color()

abstract setFiltering(filtering)
Parameters:

过滤Filtering

设置用于缩放显示文本中的图像的采样模式为filtering。对于平滑缩放的图像,请在此处使用Linear

默认是 Nearest

另请参阅

filtering()

abstract setLinkColor(linkColor)
Parameters:

linkColorQColor

设置文本中超链接的颜色为linkColor

默认是蓝色: QColor(0, 0, 255).

另请参阅

linkColor()

abstract setRenderType(renderType)
Parameters:

renderTypeRenderType

设置使用的字形节点类型为renderType

默认是 QtRendering

另请参阅

renderType()

abstract setRenderTypeQuality(renderTypeQuality)
Parameters:

renderTypeQuality – int

如果正在使用的renderType()支持,设置渲染文本时使用的质量。当支持时,这可以用于以视觉保真度换取执行速度或内存。

renderTypeQuality 小于 0 时,使用默认质量。

renderTypeQuality 可以是任何整数,但如果设置了极端值,可能会遇到底层图形硬件的限制。Qt Quick Text 元素使用以下预定义值进行操作:

  • 默认渲染类型质量

  • -1(默认)

此值目前仅由QtRendering渲染类型支持。设置此值会改变用于表示字形的距离字段的分辨率。将其设置为高于正常值会导致内存消耗增加,但会减少在非常大的文本上的过滤伪影。

默认值为-1。

另请参阅

renderTypeQuality()

abstract setSelectionColor(selectionColor)
Parameters:

selectionColorQColor

设置选择背景的颜色为color,当文本的任何部分被标记为选中时。

默认是深蓝色:QColor(0, 0, 128)

另请参阅

selectionColor()

abstract setSelectionTextColor(selectionTextColor)
Parameters:

selectionTextColorQColor

当文本的任何部分被标记为选中时,将选择文本的颜色设置为selectionTextColor

默认是白色:QColor(255, 255, 255)

另请参阅

selectionTextColor()

abstract setStyleColor(styleColor)
Parameters:

styleColorQColor

设置渲染文本时使用的样式颜色为styleColor

默认是黑色: QColor(0, 0, 0).

abstract setTextStyle(textStyle)
Parameters:

textStyleTextStyle

设置渲染文本的样式为textStyle。默认值为Normal

abstract setViewport(viewport)
Parameters:

视口QRectF

设置显示文本的视口的边界矩形为viewport。提供此信息使得QSGTextNode能够优化文本布局或文档的哪些部分包含在场景图中。

默认是一个默认构造的QRectF。对于这个视口,所有内容都将包含在图表中。

另请参阅

viewport()

abstract styleColor()
Return type:

QColor

返回渲染文本时使用的样式颜色。

abstract textStyle()
Return type:

TextStyle

返回渲染文本的样式。

abstract viewport()
Return type:

QRectF

返回为此QSGTextNode设置的当前视口。

另请参阅

setViewport()