이 페이지에서

Q3DTheme Class

Q3DTheme 클래스는 그래프에 시각적 스타일을 제공합니다. 더 보기...

헤더: #include <Q3DTheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
출시일: QtDataVisualization 1.0
QML에서: Theme3D
상속: QObject
상태: 사용 중단됨

이 클래스는 더 이상 사용되지 않습니다. 새로운 코드에서는 이 클래스를 사용하지 않는 것을 강력히 권장합니다.

공개 유형

enum ColorStyle { ColorStyleUniform, ColorStyleObjectGradient, ColorStyleRangeGradient }
enum Theme { ThemeQt, ThemePrimaryColors, ThemeDigia, ThemeStoneMoss, ThemeArmyBlue, …, ThemeUserDefined }

속성

공개 함수

Q3DTheme(QObject *parent = nullptr)
Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr)
virtual ~Q3DTheme()
float ambientLightStrength() const
QColor backgroundColor() const
QList<QColor> baseColors() const
QList<QLinearGradient> baseGradients() const
Q3DTheme::ColorStyle colorStyle() const
QFont font() const
QColor gridLineColor() const
float highlightLightStrength() const
bool isBackgroundEnabled() const
bool isGridEnabled() const
bool isLabelBackgroundEnabled() const
bool isLabelBorderEnabled() const
QColor labelBackgroundColor() const
QColor labelTextColor() const
QColor lightColor() const
float lightStrength() const
QColor multiHighlightColor() const
QLinearGradient multiHighlightGradient() const
void setAmbientLightStrength(float strength)
void setBackgroundColor(const QColor &color)
void setBackgroundEnabled(bool enabled)
void setBaseColors(const QList<QColor> &colors)
void setBaseGradients(const QList<QLinearGradient> &gradients)
void setColorStyle(Q3DTheme::ColorStyle style)
void setFont(const QFont &font)
void setGridEnabled(bool enabled)
void setGridLineColor(const QColor &color)
void setHighlightLightStrength(float strength)
void setLabelBackgroundColor(const QColor &color)
void setLabelBackgroundEnabled(bool enabled)
void setLabelBorderEnabled(bool enabled)
void setLabelTextColor(const QColor &color)
void setLightColor(const QColor &color)
void setLightStrength(float strength)
void setMultiHighlightColor(const QColor &color)
void setMultiHighlightGradient(const QLinearGradient &gradient)
void setSingleHighlightColor(const QColor &color)
void setSingleHighlightGradient(const QLinearGradient &gradient)
void setType(Q3DTheme::Theme themeType)
void setWindowColor(const QColor &color)
QColor singleHighlightColor() const
QLinearGradient singleHighlightGradient() const
Q3DTheme::Theme type() const
QColor windowColor() const

신호

void ambientLightStrengthChanged(float strength)
void backgroundColorChanged(const QColor &color)
void backgroundEnabledChanged(bool enabled)
void baseColorsChanged(const QList<QColor> &colors)
void baseGradientsChanged(const QList<QLinearGradient> &gradients)
void colorStyleChanged(Q3DTheme::ColorStyle style)
void fontChanged(const QFont &font)
void gridEnabledChanged(bool enabled)
void gridLineColorChanged(const QColor &color)
void highlightLightStrengthChanged(float strength)
void labelBackgroundColorChanged(const QColor &color)
void labelBackgroundEnabledChanged(bool enabled)
void labelBorderEnabledChanged(bool enabled)
void labelTextColorChanged(const QColor &color)
void lightColorChanged(const QColor &color)
void lightStrengthChanged(float strength)
void multiHighlightColorChanged(const QColor &color)
void multiHighlightGradientChanged(const QLinearGradient &gradient)
void singleHighlightColorChanged(const QColor &color)
void singleHighlightGradientChanged(const QLinearGradient &gradient)
void typeChanged(Q3DTheme::Theme themeType)
void windowColorChanged(const QColor &color)

상세 설명

그래프 전체에 적용되는 시각적 속성을 지정합니다. 기본 제공되는 여러 테마가 있으며, 이를 그대로 사용하거나 자유롭게 수정할 수 있습니다.

다음 속성은 QAbstract3DSeries 속성을 사용하여 시계열에서 명시적으로 설정함으로써 재정의할 수 있습니다: baseColors, baseGradients, colorStyle.

ThemeUserDefined 열거형 값을 사용하여 테마를 처음부터 새로 만들 수 있습니다. 기본 생성자를 사용하여 테마를 생성하면 새로운 사용자 정의 테마가 생성됩니다.

기본 테마

다음 표에는 테마가 제어하는 속성과 ThemeUserDefined 의 기본값이 나열되어 있습니다.

사용 예시

수정 없이 기본 테마 생성하기:

Q3DTheme *theme = new Q3DTheme(Q3DTheme::ThemeQt);

내장 테마를 생성하고 일부 속성을 수정하는 방법:

Q3DTheme *theme = new Q3DTheme(Q3DTheme::ThemeQt);
theme->setBackgroundEnabled(false);
theme->setLabelBackgroundEnabled(false);

사용자 정의 테마 생성:

Q3DTheme *theme = new Q3DTheme();
theme->setAmbientLightStrength(0.3f);
theme->setBackgroundColor(QColor(QRgb(0x99ca53)));
theme->setBackgroundEnabled(true);
theme->setBaseColor(QColor(QRgb(0x209fdf)));
theme->setColorStyle(Q3DTheme::ColorStyleUniform);
theme->setFont(QFont(QStringLiteral("Impact"), 35));
theme->setGridEnabled(true);
theme->setGridLineColor(QColor(QRgb(0x99ca53)));
theme->setHighlightLightStrength(7.0f);
theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0));
theme->setLabelBackgroundEnabled(true);
theme->setLabelBorderEnabled(true);
theme->setLabelTextColor(QColor(QRgb(0x404044)));
theme->setLightColor(Qt::white);
theme->setLightStrength(6.0f);
theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5)));
theme->setSingleHighlightColor(QColor(QRgb(0xf6a625)));
theme->setWindowColor(QColor(QRgb(0xffffff)));

내장 테마를 생성하고, 설정된 후 일부 속성을 수정하는 방법:

Q3DBars *graph = new Q3DBars();
graph->activeTheme()->setType(Q3DTheme::ThemePrimaryColors);
graph->activeTheme()->setBaseColor(Qt::red);
graph->activeTheme()->setSingleHighlightColor(Qt::yellow);

멤버 유형 설명서

enum Q3DTheme::ColorStyle

색상 스타일.

상수값설명
Q3DTheme::ColorStyleUniform0객체는 단일 색상으로 렌더링됩니다. 사용되는 색상은 baseColors, singleHighlightColor 및 multiHighlightColor 속성에서 지정됩니다.
Q3DTheme::ColorStyleObjectGradient1객체의 높이에 관계없이 각 객체에 전체 그라데이션을 적용하여 색상을 지정합니다. 사용되는 그라데이션은 baseGradients, singleHighlightGradient 및 multiHighlightGradient 속성에서 지정됩니다.
Q3DTheme::ColorStyleRangeGradient2객체는 객체의 높이와 Y축 상의 위치에 따라 결정되는 전체 그라데이션의 일부를 사용하여 색상이 지정됩니다. 사용되는 그라데이션은 baseGradients, singleHighlightGradient 및 multiHighlightGradient 속성에서 지정됩니다.

enum Q3DTheme::Theme

기본 제공 테마.

상수값설명
Q3DTheme::ThemeQt0기본 색상이 녹색인 밝은 테마입니다.
Q3DTheme::ThemePrimaryColors1노란색을 기본 색상으로 하는 밝은 테마입니다.
Q3DTheme::ThemeDigia2회색을 기본 색상으로 하는 밝은 테마.
Q3DTheme::ThemeStoneMoss3노란색을 기본 색상으로 한 중간 어두운 테마.
Q3DTheme::ThemeArmyBlue4파란색을 기본 색상으로 한 중간 밝기 테마.
Q3DTheme::ThemeRetro5갈색을 기본 색상으로 한 중간 밝기 테마.
Q3DTheme::ThemeEbony6흰색을 기본 색상으로 하는 어두운 테마.
Q3DTheme::ThemeIsabelle7노란색을 기본 색상으로 하는 어두운 테마.
Q3DTheme::ThemeUserDefined8사용자 정의 테마입니다. 자세한 내용은 Default Theme 을 참조하십시오.

속성 설명서

ambientLightStrength : float

이 속성은 그래프 전체의 주변광 강도를 지정합니다.

이 값은 빛의 위치와 관계없이 그래프 전체에 걸쳐 색상이 얼마나 균일하고 밝게 표시될지를 결정합니다.

값은 0.0f 과 1.0f 사이여야 합니다.

액세스 함수:

float ambientLightStrength() const
void setAmbientLightStrength(float strength)

알림 신호:

void ambientLightStrengthChanged(float strength)

backgroundColor : QColor

이 속성은 그래프 배경색을 지정합니다.

액세스 함수:

QColor backgroundColor() const
void setBackgroundColor(const QColor &color)

알림 신호:

void backgroundColorChanged(const QColor &color)

backgroundEnabled : bool

이 속성은 배경이 표시되는지 여부와 관계없이 적용됩니다.

배경은 ` backgroundColor` 속성의 값을 사용하여 그려집니다.

액세스 함수:

bool isBackgroundEnabled() const
void setBackgroundEnabled(bool enabled)

알림 신호:

void backgroundEnabledChanged(bool enabled)

baseColors : QList<QColor>

이 속성은 그래프 내의 모든 개체에 사용될 기본 색상 목록을 시리즈별로 저장합니다.

시리즈 수가 색상 수보다 많을 경우, 색상 목록은 순환하여 목록의 첫 번째 색상부터 다시 시작됩니다.

colorStyle 가 ColorStyleUniform 가 아닌 경우, 이 속성은 즉시 적용되지 않습니다.

baseColor 가 가 아닌 경우 이 값은 즉시 적용되지 않습니다.

액세스 함수:

QList<QColor> baseColors() const
void setBaseColors(const QList<QColor> &colors)

알림 신호:

void baseColorsChanged(const QList<QColor> &colors)

baseGradients : QList<QLinearGradient>

이 속성은 그래프 내의 모든 객체에 시리즈별로 사용될 기본 그라디언트 목록을 저장합니다.

시리즈 수가 그라디언트 수보다 많을 경우, 그라디언트 목록은 순환하여 목록의 첫 번째 그라디언트부터 다시 시작합니다.

colorStyle 가 ` ColorStyleUniform`인 경우, 이 속성은 즉시 적용되지 않습니다.

baseGradient 가 인 경우 이 값은 시리즈에서 를 명시적으로 설정하여 재정의할 수 있습니다.

액세스 함수:

QList<QLinearGradient> baseGradients() const
void setBaseGradients(const QList<QLinearGradient> &gradients)

알림 신호:

void baseGradientsChanged(const QList<QLinearGradient> &gradients)

colorStyle : ColorStyle

이 속성은 그래프 색상의 스타일을 지정합니다.

ColorStyle 열거형 값 중 하나입니다.

이 값은 시리즈에서 colorStyle 를 명시적으로 설정하여 재정의할 수 있습니다.

액세스 함수:

Q3DTheme::ColorStyle colorStyle() const
void setColorStyle(Q3DTheme::ColorStyle style)

알림 신호:

void colorStyleChanged(Q3DTheme::ColorStyle style)

font : QFont

이 속성은 레이블에 사용할 글꼴을 지정합니다.

액세스 함수:

QFont font() const
void setFont(const QFont &font)

알림 신호:

void fontChanged(const QFont &font)

gridEnabled : bool

이 속성은 격자선이 그려지는지 여부를 결정합니다.

이 값은 모든 격자선에 적용됩니다.

액세스 함수:

bool isGridEnabled() const
void setGridEnabled(bool enabled)

알림 신호:

void gridEnabledChanged(bool enabled)

gridLineColor : QColor

이 속성은 격자선의 색상을 지정합니다.

참고: 투명도는 지원되지 않으며, 이를 사용할 경우 정의되지 않은 동작이 발생합니다.

액세스 함수:

QColor gridLineColor() const
void setGridLineColor(const QColor &color)

알림 신호:

void gridLineColorChanged(const QColor &color)

highlightLightStrength : float

이 속성은 선택한 오브젝트의 스페큘러 광도 강도를 저장합니다.

값은 0.0f 과 10.0f 사이여야 합니다.

액세스 함수:

float highlightLightStrength() const
void setHighlightLightStrength(float strength)

알림 신호:

void highlightLightStrengthChanged(float strength)

labelBackgroundColor : QColor

이 속성은 레이블 배경색을 지정합니다.

labelBackgroundEnabled 가 false 인 경우에는 효과가 없습니다.

액세스 함수:

QColor labelBackgroundColor() const
void setLabelBackgroundColor(const QColor &color)

알림 신호:

void labelBackgroundColorChanged(const QColor &color)

labelBackgroundEnabled : bool

이 속성은 레이블이 색상 배경으로 그려지든 완전히 투명한 배경으로 그려지든 상관없이 적용됩니다.

labelBackgroundColor 값(알파 값 포함)은 배경을 그리는 데 사용됩니다.

배경이 있는 레이블은 가장 긴 레이블을 기준으로 축별로 동일한 크기로 그려지며, 텍스트는 레이블 중앙에 정렬됩니다. 배경이 없는 레이블은 있는 그대로 그려지며, 그래프 내 위치에 따라 왼쪽 또는 오른쪽으로 정렬됩니다.

액세스 함수:

bool isLabelBackgroundEnabled() const
void setLabelBackgroundEnabled(bool enabled)

알림 신호:

void labelBackgroundEnabledChanged(bool enabled)

labelBorderEnabled : bool

이 속성은 배경이 설정된 레이블에 대해 레이블 테두리가 그려지는지 여부를 결정합니다.

labelBackgroundEnabled 가 ` false`로 설정된 경우에는 효과가 없습니다.

액세스 함수:

bool isLabelBorderEnabled() const
void setLabelBorderEnabled(bool enabled)

알림 신호:

void labelBorderEnabledChanged(bool enabled)

labelTextColor : QColor

이 속성은 레이블에 사용되는 글꼴의 색상을 지정합니다.

액세스 함수:

QColor labelTextColor() const
void setLabelTextColor(const QColor &color)

알림 신호:

void labelTextColorChanged(const QColor &color)

lightColor : QColor

이 속성은 주변광 및 반사광의 색상을 지정합니다.

이 값은 Q3DScene에 지정된 빛에 영향을 미칩니다.

액세스 함수:

QColor lightColor() const
void setLightColor(const QColor &color)

알림 신호:

void lightColorChanged(const QColor &color)

lightStrength : float

이 속성은 전체 그래프에 대한 스페큘러 광도 값을 저장합니다.

값은 0.0f 과 10.0f 사이여야 합니다.

이 값은 Q3DScene에 지정된 빛에 영향을 미칩니다.

액세스 함수:

float lightStrength() const
void setLightStrength(float strength)

알림 신호:

void lightStrengthChanged(float strength)

multiHighlightColor : QColor

이 속성은 선택된 객체의 강조 표시 색상을 저장합니다.

selectionMode 에 ' QAbstract3DGraph::SelectionRow ' 또는 ' QAbstract3DGraph::SelectionColumn ' 플래그가 설정된 경우 사용됩니다.

액세스 함수:

QColor multiHighlightColor() const
void setMultiHighlightColor(const QColor &color)

알림 신호:

void multiHighlightColorChanged(const QColor &color)

multiHighlightGradient : QLinearGradient

이 속성은 선택된 객체의 하이라이트 그라데이션을 저장합니다.

selectionMode 에 ‘ QAbstract3DGraph::SelectionRow ’ 또는 ‘ QAbstract3DGraph::SelectionColumn ’ 플래그가 설정된 경우 사용됩니다.

액세스 함수:

QLinearGradient multiHighlightGradient() const
void setMultiHighlightGradient(const QLinearGradient &gradient)

알림 신호:

void multiHighlightGradientChanged(const QLinearGradient &gradient)

singleHighlightColor : QColor

이 속성은 선택된 객체의 강조 표시 색상을 저장합니다.

selectionMode 에 ' QAbstract3DGraph::SelectionItem ' 플래그가 설정된 경우 사용됩니다.

액세스 함수:

QColor singleHighlightColor() const
void setSingleHighlightColor(const QColor &color)

알림 신호:

void singleHighlightColorChanged(const QColor &color)

singleHighlightGradient : QLinearGradient

이 속성은 선택된 객체의 하이라이트 그라데이션을 저장합니다.

selectionMode 에 ‘ QAbstract3DGraph::SelectionItem ’ 플래그가 설정된 경우 사용됩니다.

액세스 함수:

QLinearGradient singleHighlightGradient() const
void setSingleHighlightGradient(const QLinearGradient &gradient)

알림 신호:

void singleHighlightGradientChanged(const QLinearGradient &gradient)

type : Theme

이 속성은 테마의 유형을 나타냅니다.

이 유형은 테마를 생성할 때 자동으로 설정되지만, 나중에 변경할 수도 있습니다. 테마 유형을 변경하면 테마의 다른 모든 속성이 미리 정의된 테마에서 지정한 값으로 변경됩니다. 그래프의 활성 테마 유형을 변경하면 연결된 모든 시리즈가 새 테마를 사용하도록 재설정됩니다.

액세스 함수:

Q3DTheme::Theme type() const
void setType(Q3DTheme::Theme themeType)

알림 신호:

void typeChanged(Q3DTheme::Theme themeType)

windowColor : QColor

이 속성은 그래프가 그려지는 애플리케이션 창의 색상을 지정합니다.

액세스 함수:

QColor windowColor() const
void setWindowColor(const QColor &color)

알림 신호:

void windowColorChanged(const QColor &color)

멤버 함수 설명서

[explicit] Q3DTheme::Q3DTheme(QObject *parent = nullptr)

ThemeUserDefined 유형의 새 테마를 생성합니다. 선택 사항인 parent 매개변수를 지정할 수 있으며, 이 경우 해당 매개변수는 QObject 생성자에 전달됩니다.

[explicit] Q3DTheme::Q3DTheme(Q3DTheme::Theme themeType, QObject *parent = nullptr)

themeType 를 사용하여 새로운 테마를 생성합니다. 여기서 `theme`은 Theme 에 나열된 내장 테마 중 하나일 수 있습니다. 선택 사항인 ` parent ` 매개변수를 지정할 수 있으며, 이 경우 해당 매개변수는 QObject 생성자에 전달됩니다.

[virtual noexcept] Q3DTheme::~Q3DTheme()

테마를 망쳐버린다.

© 2026 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.