Q3DTheme Class

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

Header: #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, singleHighlightColormultiHighlightColor 프로퍼티에 지정됩니다.
Q3DTheme::ColorStyleObjectGradient1객체는 객체 높이에 관계없이 각 객체에 대해 전체 그라데이션을 사용하여 색상이 지정됩니다. 사용되는 그라데이션은 baseGradients, singleHighlightGradientmultiHighlightGradient 속성에 지정됩니다.
Q3DTheme::ColorStyleRangeGradient2개체는 개체의 높이와 Y축에서의 위치에 따라 결정되는 전체 그라데이션의 일부를 사용하여 색이 지정됩니다. 사용되는 그라데이션은 baseGradients, singleHighlightGradientmultiHighlightGradient 속성에 지정됩니다.

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.0f1.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>

이 속성에는 그래프의 모든 개체에 사용할 기본 색상 목록이 계열별로 저장됩니다.

계열이 색상보다 많으면 색상 목록이 래핑되고 목록의 첫 번째 색상으로 다시 시작됩니다.

colorStyleColorStyleUniform 이 아닌 경우 즉시 적용되지 않습니다.

이 값은 계열에 baseColor 을 명시적으로 설정하여 재정의할 수 있습니다.

기능에 액세스합니다:

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

알림 신호:

void baseColorsChanged(const QList<QColor> &colors)

baseGradients : QList<QLinearGradient>

이 속성에는 그래프의 모든 개체에 사용할 기본 그라데이션 목록이 계열별로 저장됩니다.

그라데이션보다 계열이 많은 경우 그라데이션 목록이 래핑되고 목록의 첫 번째 그라데이션부터 다시 시작됩니다.

colorStyleColorStyleUniform 인 경우 즉각적인 영향을 미치지 않습니다.

이 값은 계열에 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.0f10.0f 사이여야 합니다.

함수에 액세스합니다:

float highlightLightStrength() const
void setHighlightLightStrength(float strength)

알림 신호:

void highlightLightStrengthChanged(float strength)

labelBackgroundColor : QColor

이 속성은 레이블 배경의 색상을 보유합니다.

labelBackgroundEnabledfalse 인 경우 영향을 미치지 않습니다.

기능에 액세스합니다:

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

이 속성은 배경이 있는 레이블에 대해 레이블 테두리를 그릴지 여부를 지정합니다.

labelBackgroundEnabledfalse 인 경우 영향을 미치지 않습니다.

액세스 함수:

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.0f10.0f 사이여야 합니다.

이 값은 Q3DScene 에 지정된 조명에 영향을 줍니다.

함수에 액세스합니다:

float lightStrength() const
void setLightStrength(float strength)

알림 신호:

void lightStrengthChanged(float strength)

multiHighlightColor : QColor

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

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

함수 액세스:

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

알림 신호:

void multiHighlightColorChanged(const QColor &color)

multiHighlightGradient : QLinearGradient

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

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

함수 액세스:

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

알림 신호:

void multiHighlightGradientChanged(const QLinearGradient &gradient)

singleHighlightColor : QColor

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

selectionModeQAbstract3DGraph::SelectionItem 플래그가 설정된 경우 사용됩니다.

함수 액세스:

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

알림 신호:

void singleHighlightColorChanged(const QColor &color)

singleHighlightGradient : QLinearGradient

이 속성은 선택한 객체에 대한 강조 그라데이션을 저장합니다.

selectionModeQAbstract3DGraph::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)

Theme 의 기본 제공 테마 중 하나 일 수 있는 themeType 로 새 테마를 생성합니다. 선택적 parent 매개변수를 지정한 다음 QObject 생성자에게 전달할 수 있습니다.

[virtual noexcept] Q3DTheme::~Q3DTheme()

테마를 삭제합니다.

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