PySide6.QtQuick.QSGTextNode¶
- class QSGTextNode¶
QSGTextNode类是用于在 Qt Quick 场景图中绘制文本布局和文本文档的类。更多…在版本6.7中添加。
概要¶
方法¶
def
addTextLayout()
虚拟方法¶
def
clear()def
color()def
filtering()def
linkColor()def
renderType()def
selectionColor()def
setColor()def
setFiltering()def
setLinkColor()def
setRenderType()def
setStyleColor()def
setTextStyle()def
setViewport()def
styleColor()def
textStyle()def
viewport()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QSGTextNode可以用于创建需要文本的自定义 Qt Quick 项目。它在 Qt Quick 中被 Text、TextEdit 和 TextInput 元素使用。你可以使用
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:
position –
QPointFdocument –
QTextDocumentselectionStart – int
selectionCount – int
将
document的内容添加到position处的文本节点。如果selectionStart大于等于0,则这标记了selectionCount个字符的选中区域的第一个字符。选中区域以selectionColor()的背景填充表示,选中的文本以selectionTextColor()的颜色渲染。此函数将其参数转发给虚拟函数 doAddTextDocument()。
另请参阅
clear()doAddTextDocument()- addTextLayout(position, layout[, selectionStart=-1[, selectionCount=-1[, lineStart=0[, lineCount=-1]]]])¶
- Parameters:
position –
QPointF布局 –
QTextLayoutselectionStart – int
selectionCount – int
lineStart – int
lineCount – int
将
layout的内容添加到position处的文本节点。如果selectionStart大于等于0,则这标记了selectionCount个字符的选中区域的第一个字符。选中区域以selectionColor()的背景填充表示,选中的文本以selectionTextColor()渲染。为了方便起见,
lineStart和lineCount可以用来选择从布局中包含的 QTextLine 对象的范围。这在创建省略布局时非常有用。如果lineCount小于 0,则该节点将包含从lineStart到布局末尾的行。此函数将其参数转发给虚拟函数 doAddTextLayout()。
另请参阅
clear()doAddTextLayout()- abstract clear()¶
清除节点的内容,删除表示已添加到其中的布局和文档的节点和其他数据。
返回渲染文本时使用的主要颜色。
另请参阅
返回用于缩放作为显示文本一部分的图像的采样模式。
另请参阅
返回文本中超链接的颜色。
另请参阅
- abstract renderType()¶
- Return type:
返回用于渲染文本的字形节点类型。
另请参阅
- abstract renderTypeQuality()¶
- Return type:
整数
返回节点的渲染类型质量。详情请参见
setRenderTypeQuality()。返回当文本的任何部分被标记为选中时,选择背景的颜色。
另请参阅
返回当文本的任何部分被标记为选中时,选中文本的颜色。
设置渲染文本时使用的主要颜色为
color。默认是黑色:
QColor(0, 0, 0).另请参阅
设置用于缩放显示文本中的图像的采样模式为
filtering。对于平滑缩放的图像,请在此处使用Linear。默认是
Nearest。另请参阅
设置文本中超链接的颜色为
linkColor。默认是蓝色:
QColor(0, 0, 255).另请参阅
- abstract setRenderType(renderType)¶
- Parameters:
renderType –
RenderType
设置使用的字形节点类型为
renderType。默认是
QtRendering。另请参阅
- abstract setRenderTypeQuality(renderTypeQuality)¶
- Parameters:
renderTypeQuality – int
如果正在使用的
renderType()支持,设置渲染文本时使用的质量。当支持时,这可以用于以视觉保真度换取执行速度或内存。当
renderTypeQuality小于 0 时,使用默认质量。renderTypeQuality可以是任何整数,但如果设置了极端值,可能会遇到底层图形硬件的限制。Qt Quick Text 元素使用以下预定义值进行操作:默认渲染类型质量
-1(默认)
此值目前仅由
QtRendering渲染类型支持。设置此值会改变用于表示字形的距离字段的分辨率。将其设置为高于正常值会导致内存消耗增加,但会减少在非常大的文本上的过滤伪影。默认值为-1。
另请参阅
设置选择背景的颜色为
color,当文本的任何部分被标记为选中时。默认是深蓝色:
QColor(0, 0, 128)。另请参阅
当文本的任何部分被标记为选中时,将选择文本的颜色设置为
selectionTextColor。默认是白色:
QColor(255, 255, 255)。另请参阅
设置渲染文本时使用的样式颜色为
styleColor。默认是黑色:
QColor(0, 0, 0).设置渲染文本的样式为
textStyle。默认值为Normal。设置显示文本的视口的边界矩形为
viewport。提供此信息使得QSGTextNode能够优化文本布局或文档的哪些部分包含在场景图中。默认是一个默认构造的QRectF。对于这个视口,所有内容都将包含在图表中。
另请参阅
返回渲染文本时使用的样式颜色。
返回渲染文本的样式。
返回为此
QSGTextNode设置的当前视口。另请参阅