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 –
QPointF
document –
QTextDocument
selectionStart – 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
布局 –
QTextLayout
selectionStart – 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
设置的当前视口。另请参阅