QSGTextNode Class

QSGTextNode 클래스는 Qt Quick 장면 그래프에 텍스트 레이아웃과 텍스트 문서를 그리기 위한 클래스입니다. 더 보기...

헤더: #include <QSGTextNode>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
이후: Qt 6.7
상속합니다: QSGTransformNode

공용 형

enum RenderType { QtRendering, NativeRendering, CurveRendering }
enum TextStyle { Normal, Outline, Raised, Sunken }

공용 함수

void addTextDocument(QPointF position, QTextDocument *document, int selectionStart = -1, int selectionCount = -1)
void addTextLayout(QPointF position, QTextLayout *layout, int selectionStart = -1, int selectionCount = -1, int lineStart = 0, int lineCount = -1)
virtual void clear() = 0
virtual QColor color() const = 0
virtual QSGTexture::Filtering filtering() const = 0
virtual QColor linkColor() const = 0
virtual QSGTextNode::RenderType renderType() const = 0
virtual int renderTypeQuality() const = 0
virtual QColor selectionColor() const = 0
virtual QColor selectionTextColor() const = 0
virtual void setColor(QColor color) = 0
virtual void setFiltering(QSGTexture::Filtering filtering) = 0
virtual void setLinkColor(QColor linkColor) = 0
virtual void setRenderType(QSGTextNode::RenderType renderType) = 0
virtual void setRenderTypeQuality(int renderTypeQuality) = 0
virtual void setSelectionColor(QColor color) = 0
virtual void setSelectionTextColor(QColor selectionTextColor) = 0
virtual void setStyleColor(QColor styleColor) = 0
virtual void setTextStyle(QSGTextNode::TextStyle textStyle) = 0
virtual void setViewport(const QRectF &viewport) = 0
virtual QColor styleColor() const = 0
virtual QSGTextNode::TextStyle textStyle() = 0
virtual QRectF viewport() const = 0

상세 설명

QSGTextNode는 텍스트가 필요한 사용자 정의 Qt Quick 항목을 만드는 데 유용할 수 있습니다. Qt Quick 에서 Text, TextEditTextInput 요소에 사용됩니다.

QQuickWindow::createTextNode()를 사용하여 QSGTextNode 객체를 만들 수 있습니다. addTextLayout () 및 addTextDocument() 함수는 QSGTextNode에 텍스트를 추가하는 방법을 제공합니다. 텍스트는 이미 배치되어 있어야 합니다.

참고: addTextLayout() 또는 addTextDocument()을 호출하기 전에 속성을 설정해야 효과를 얻을 수 있습니다.

참고: QSGTextNode의 소멸은 주의해서 관리해야 합니다. 특히 그래픽 리소스를 참조하므로 Qt Quick 씬 그래프가 무효화되면 반드시 삭제해야 합니다. 노드가 그래프의 일부이고 OwnedByParent 플래그가 설정되어 있는 경우(기본값), 이 작업은 자동으로 수행됩니다. 그러나 OwnedByParent 플래그가 지워져 있고 노드를 수동으로 삭제하는 경우에는 씬 그래프가 무효화될 때 이 작업을 수행하도록 주의해야 합니다. 이 작업은 QQuickWindow::sceneGraphInvalidated() 신호에 연결하거나 QQuickItem 서브클래스에 invalidateSceneGraph() 라는 이름의 슬롯을 구현하여 수행할 수 있습니다. 자세한 내용은 QQuickItem 문서를 참조하세요.

멤버 유형 문서

enum QSGTextNode::RenderType

이 열거형 유형은 텍스트 렌더링에 사용되는 글리프 노드 유형을 설명합니다.

Constant설명
QSGTextNode::QtRendering0텍스트는 각 글리프에 대해 스케일 가능한 거리 필드를 사용하여 렌더링됩니다.
QSGTextNode::NativeRendering1텍스트는 플랫폼별 기법을 사용하여 렌더링됩니다.
QSGTextNode::CurveRendering2텍스트는 그래픽 하드웨어에서 직접 실행되는 커브 래스터라이저를 사용하여 렌더링됩니다.

텍스트가 대상 플랫폼에서 네이티브처럼 보이도록 하고 텍스트 변형과 같은 고급 기능이 필요하지 않은 경우 NativeRendering 을 선택하세요. 이러한 기능을 네이티브 렌더링 렌더링 유형과 함께 사용하면 결과가 좋지 않고 때로는 픽셀화될 수 있습니다.

Text.QtRenderingText.CurveRendering 는 모두 하드웨어 가속 기술입니다. QtRendering 는 둘 중 더 빠르지만 더 많은 메모리를 사용하며 큰 크기에서는 렌더링 아티팩트가 나타납니다. CurveRenderingQtRendering 가 좋은 시각적 결과를 제공하지 않거나 그래픽 메모리 소비를 줄이는 것이 우선 순위인 경우 대안으로 고려해야 합니다.

setRenderType() 및 setRenderTypeQuality()도 참조하세요 .

enum QSGTextNode::TextStyle

이 열거형 유형은 텍스트 렌더링에 적용할 수 있는 스타일을 설명합니다.

Constant설명
QSGTextNode::Normal0스타일을 적용하지 않고 텍스트가 그려집니다.
QSGTextNode::Outline1텍스트가 윤곽선으로 그려집니다.
QSGTextNode::Raised2텍스트가 위로 그려집니다.
QSGTextNode::Sunken3텍스트가 가라앉은 상태로 그려집니다.

setTextStyle() 및 setStyleColor()도 참조하세요 .

멤버 함수 문서

void QSGTextNode::addTextDocument(QPointF position, QTextDocument *document, int selectionStart = -1, int selectionCount = -1)

document 의 내용을 position 의 텍스트 노드에 추가합니다. selectionStart >= 0이면 선택한 영역의 selectionCount 문자 수에서 첫 번째 문자를 표시합니다. 선택 영역은 selectionColor()로 배경 채우기로 표시되고 선택된 텍스트는 selectionTextColor()로 렌더링됩니다.

이 함수는 인수를 가상 함수 doAddTextDocument()로 전달합니다.

clear() 및 doAddTextDocument()도 참조하세요 .

void QSGTextNode::addTextLayout(QPointF position, QTextLayout *layout, int selectionStart = -1, int selectionCount = -1, int lineStart = 0, int lineCount = -1)

layout 의 내용을 position 의 텍스트 노드에 추가합니다. selectionStart >= 0이면 선택한 영역의 selectionCount 문자 수에서 첫 번째 문자를 표시합니다. 선택 영역은 selectionColor()로 배경 채우기로 표시되고 선택된 텍스트는 selectionTextColor()로 렌더링됩니다.

편의를 위해 lineStartlineCount 을 사용하여 레이아웃에서 포함할 QTextLine 객체의 범위를 선택할 수 있습니다. 예를 들어 엘리드 레이아웃을 만들 때 유용할 수 있습니다. lineCount 가 0 미만인 경우 lineStart 에서 레이아웃의 끝 부분까지의 줄이 노드에 포함됩니다.

이 함수는 인수를 가상 함수 doAddTextLayout()에 전달합니다.

clear() 및 doAddTextLayout()도 참조하세요 .

[pure virtual] void QSGTextNode::clear()

노드의 내용을 지우고 노드에 추가된 레이아웃과 문서를 나타내는 노드 및 기타 데이터를 삭제합니다.

addTextLayout() 및 addTextDocument()도 참조하세요 .

[pure virtual] QColor QSGTextNode::color() const

텍스트를 렌더링할 때 사용된 기본 색상을 반환합니다.

setColor()도 참조하세요 .

[pure virtual] QSGTexture::Filtering QSGTextNode::filtering() const

표시된 텍스트의 일부인 이미지의 크기를 조정할 때 사용되는 샘플링 모드를 반환합니다.

setFiltering()도 참조하세요 .

[pure virtual] QColor QSGTextNode::linkColor() const

텍스트에 있는 하이퍼링크의 색상을 반환합니다.

setLinkColor()도 참조하세요 .

[pure virtual] QSGTextNode::RenderType QSGTextNode::renderType() const

텍스트 렌더링에 사용된 글리프 노드 유형을 반환합니다.

setRenderType()도 참조하세요 .

[pure virtual] int QSGTextNode::renderTypeQuality() const

노드의 렌더링 유형 품질을 반환합니다. 자세한 내용은 setRenderTypeQuality()를 참조하세요.

setRenderTypeQuality()도 참조하세요 .

[pure virtual] QColor QSGTextNode::selectionColor() const

텍스트의 일부가 선택된 것으로 표시된 경우 선택 배경의 색상을 반환합니다.

setSelectionColor()도 참조하세요 .

[pure virtual] QColor QSGTextNode::selectionTextColor() const

텍스트의 일부가 선택된 것으로 표시된 경우 선택 텍스트의 색상을 반환합니다.

setSelectionTextColor()도 참조하세요 .

[pure virtual] void QSGTextNode::setColor(QColor color)

텍스트를 렌더링할 때 사용할 기본 색상을 color 으로 설정합니다.

기본값은 검정색입니다: QColor(0, 0, 0).

color()도 참조하세요 .

[pure virtual] void QSGTextNode::setFiltering(QSGTexture::Filtering filtering)

표시된 텍스트의 일부인 이미지의 크기를 조정할 때 사용하는 샘플링 모드를 filtering 으로 설정합니다. 이미지 크기를 부드럽게 조정하려면 여기에서 QSGTexture::Linear 을 사용합니다.

기본값은 QSGTexture::Nearest 입니다.

filtering()도 참조하세요 .

[pure virtual] void QSGTextNode::setLinkColor(QColor linkColor)

텍스트에서 linkColor 의 색상을 설정하거나 하이퍼링크로 연결합니다.

기본값은 파란색입니다( QColor(0, 0, 255)).

linkColor()도 참조하세요 .

[pure virtual] void QSGTextNode::setRenderType(QSGTextNode::RenderType renderType)

사용 중인 글리프 노드 유형을 renderType 로 설정합니다.

기본값은 QtRendering 입니다.

renderType()도 참조하세요 .

[pure virtual] void QSGTextNode::setRenderTypeQuality(int renderTypeQuality)

사용 중인 renderType()가 이를 지원하는 경우 텍스트를 렌더링할 때 사용할 품질을 설정합니다. 지원되는 경우 시각적 충실도와 실행 속도 또는 메모리를 교환하는 데 사용할 수 있습니다.

renderTypeQuality 가 0 미만인 경우 기본 품질이 사용됩니다.

renderTypeQuality 은 임의의 정수를 사용할 수 있지만 극단적인 값을 설정하면 기본 그래픽 하드웨어에 의해 제한이 발생할 수 있습니다. Qt Quick 텍스트 요소는 다음과 같은 사전 정의된 값으로 작동합니다:

상수설명
DefaultRenderTypeQuality-1(기본값)
LowRenderTypeQuality26
NormalRenderTypeQuality52
HighRenderTypeQuality104
VeryHighRenderTypeQuality208

이 값은 현재 QtRendering 렌더링 유형에서만 존중됩니다. 이 값을 설정하면 글리프를 표현하는 데 사용되는 거리 필드의 해상도가 변경됩니다. 이 값을 보통 이상으로 설정하면 메모리 사용량이 증가하지만 매우 큰 텍스트의 필터링 아티팩트가 줄어듭니다.

기본값은 -1입니다.

renderTypeQuality()도 참조하세요 .

[pure virtual] void QSGTextNode::setSelectionColor(QColor color)

텍스트의 일부가 선택된 것으로 표시된 경우 선택 배경의 색상을 color 으로 설정합니다.

기본값은 진한 파란색입니다( QColor(0, 0, 128)).

selectionColor()도 참조하세요 .

[pure virtual] void QSGTextNode::setSelectionTextColor(QColor selectionTextColor)

텍스트의 일부가 선택된 것으로 표시된 경우 선택 텍스트의 색상을 selectionTextColor 으로 설정합니다.

기본값은 흰색입니다( QColor(255, 255, 255)).

selectionTextColor()도 참조하세요 .

[pure virtual] void QSGTextNode::setStyleColor(QColor styleColor)

텍스트를 렌더링할 때 사용할 스타일 색상을 styleColor 로 설정합니다.

기본값은 검정색입니다: QColor(0, 0, 0).

styleColor() 및 setTextStyle()도 참조하세요 .

[pure virtual] void QSGTextNode::setTextStyle(QSGTextNode::TextStyle textStyle)

렌더링된 텍스트의 스타일을 textStyle 로 설정합니다. 기본값은 Normal 입니다.

textStyle() 및 setStyleColor()도 참조하세요 .

[pure virtual] void QSGTextNode::setViewport(const QRectF &viewport)

텍스트가 표시되는 뷰포트의 경계 사각형을 viewport 로 설정합니다. 이 정보를 제공하면 QSGTextNode 에서 텍스트 레이아웃 또는 문서의 어느 부분을 장면 그래프에 포함할지 최적화할 수 있습니다.

기본값은 기본으로 구성된 QRectF 입니다. 이 뷰포트의 경우 모든 콘텐츠가 그래프에 포함됩니다.

viewport()도 참조하세요 .

[pure virtual] QColor QSGTextNode::styleColor() const

텍스트를 렌더링할 때 사용된 스타일 색상을 반환합니다.

setStyleColor() 및 textStyle()도 참조하세요 .

[pure virtual] QSGTextNode::TextStyle QSGTextNode::textStyle()

렌더링된 텍스트의 스타일을 반환합니다.

setTextStyle() 및 styleColor()도 참조하세요 .

[pure virtual] QRectF QSGTextNode::viewport() const

QSGTextNode 에 대한 현재 뷰포트 세트를 반환합니다.

setViewport()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.