- 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()
定义
styleColor()
定义
textStyle()
定义
viewport()
注意
这份文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译问题,也可以通过创建https:/bugreports.qt.io/projects/PYSIDE上的问题单来告诉我们。
详细描述#
QSGTextNode
对于需要文本的自定义 Qt Quick 项目很有用。它被 Qt Quick 中的 Text、TextEdit 和 TextInput 元素使用。您可以使用
createTextNode()
创建QSGTextNode
对象。addTextLayout()
和addTextDocument()
函数提供向QSGTextNode
添加文本的方法。文本必须已经排好版。注意
必须在调用
addTextLayout()
或addTextDocument()
之前设置属性,以便它们生效。- class TextStyle#
此枚举类型描述了可以应用于文本渲染的样式。
常量
描述
QSGTextNode.Normal
文本不应用任何样式绘制。
QSGTextNode.Outline
文本带有轮廓绘制。
QSGTextNode.Raised
文本以凸起方式绘制。
QSGTextNode.Sunken
文本以凹陷方式绘制。
- class RenderType#
此枚举类型描述了用于渲染文本的符号节点类型。
常量
描述
QSGTextNode.QtRendering
文本使用每个符号的缩放距离字段进行渲染。
QSGTextNode.NativeRendering
文本使用特定平台的技巧进行渲染。
QSGTextNode.CurveRendering
文本使用直接在图形硬件上运行的曲线光栅化器进行渲染。
如果您希望文本在目标平台上看起来是本地的,并且不需要文本转换等高级功能,请选择
NativeRendering
。使用这种渲染类型与这些功能结合时,可能会导致不利且有时是像素化的结果。Both
Text.QtRendering
和Text.CurveRendering
都是硬件加速技术。QtRendering
是两者中较快的,但使用更多内存,并且在大型尺寸下可能会出现渲染伪影。在QtRendering
无法提供良好的视觉效果或降低图形内存消耗是优先考虑的情况下,应考虑使用CurveRendering
。
- abstract addTextDocument(position, document[, selectionStart=-1[, selectionCount=-1]]])#
- 参数:
position –
QPointF
document –
QTextDocument
selectionStart – int
selectionCount – int
将
document
的内容添加到位于position
的文本节点中。如果selectionStart
>=0,则标志着选定区域中selectionCount
个字符的第一个字符。选择区域以selectionColor()
为背景填充表示,选中文本以selectionTextColor()
进行渲染。另见
- (概述 addTextLayout(position, layout[, selectionStart=-1[, selectionCount=-1[, lineStart=0[, lineCount=-1]]]]])#
- 参数:
position –
QPointF
layout – QTextLayout
selectionStart – int
selectionCount – int
lineStart – int
lineCount – int
将
layout
的内容添加到位于position
的文本节点上。如果selectionStart
大于或等于0,则表示范围为selectionCount
个字符的选中区域中的第一个字符。选中区域表示为具有selectionColor()
背景填充的,选中文本在selectionTextColor()
中渲染。为了方便,可以使用
lineStart
和lineCount
来选择从布局中包含的QTextLine对象的范围。这在创建自动换行布局时可能很有用。如果lineCount
小于0,节点将包括从lineStart
到布局末尾的行。另见
- (概述 clear()#
清除节点的内容,删除表示已添加到其中的布局和文档的节点和其他数据。
另见
addTextLayout()
addTextDocument()
返回用于渲染文本的主要颜色。
另见
返回在缩放显示的文本中作为部分的图像时使用的采样模式。
返回文本中超链接的颜色。
返回用于渲染文本的符号节点类型。
- 抽象 renderTypeQuality()#
- 返回类型:
int
返回节点的渲染类型质量。有关详情,请参阅
setRenderTypeQuality()
。返回当文本的任何部分被标记为选中时,选中背景的颜色。
返回当文本的任何部分被标记为选中时,选中文本的颜色。
将渲染文本时使用的主要颜色设置为
color
。默认值为黑色:
QColor(0, 0, 0)
。另见
设置显示文本中用于缩放图像时的采样模式为
filtering
。对于平滑缩放的图像,在此处使用Linear
。默认值为
Nearest
。另见
将文本中或超链接的颜色设置为
linkColor
。默认值为蓝色:
QColor(0, 0, 255)
。另见
- 抽象 setRenderType(renderType)#
- 参数:
renderType –
RenderType
设置用于渲染字形的字形节点类型为
renderType
。默认值为
QtRendering
。另见
- 抽象 setRenderTypeQuality(renderTypeQuality)#
- 参数:
renderTypeQuality – int
如果当前使用的
renderType()
支持该功能,则设置用于渲染文本的质量。如果支持,这可以用来在视觉保真度与执行速度或内存消耗之间进行权衡。当
renderTypeQuality
小于 0 时,将使用默认质量。虽然可以设置任意整数值,但如果设置极端值,可能会遇到底层图形硬件施加的限制。Qt Quick Text 元素使用以下预定义值进行操作
DefaultRenderTypeQuality
-1 (默认)
此值目前只受
QtRendering
渲染类型尊重。设置它将改变表示字形的距离字场的分辨率。将其设置为正常以上将增加内存消耗,但减少了非常大的文本上的过滤伪影。默认值为 -1。
当文本的任何部分被标记为选中时,将选中背景的颜色设置为
color
。默认值为深蓝色:
QColor(0, 0, 128)
。当文本的任何部分被标记为选中时,将选中文本的颜色设置为
selectionTextColor
。默认为白色:
QColor(255, 255, 255)
。将用于渲染文本的样式颜色设置为
styleColor
。默认值为黑色:
QColor(0, 0, 0)
。将渲染文本的样式设置为
textStyle
。默认为Normal
。设置显示文本的视图边界矩形为
viewport
。提供此信息使QSGTextNode
能够优化哪些文本布局或文档的部分包含在场景图中。默认是一个默认构造的 QRectF。对于此视图,所有内容都将包含在图中。
另见
返回渲染文本时使用的样式颜色。
返回渲染文本的样式。
返回为此
QSGTextNode
设置的当前视口。