Q3DTheme Class

Q3DThemeクラスはグラフの視覚的なスタイルを提供します。詳細...

Header: #include <Q3DTheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
In QML: Theme3D
Inherits: 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 enum値を使ってゼロから作成することができます。デフォルトのコンストラクタを使用してテーマを作成すると、新しいユーザー定義テーマが生成されます。

デフォルトテーマ

以下の表に、テーマによって制御されるプロパティと、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>

このプロパティは、グラフ内のすべてのオブジェクトに使用される基本色のリストを、系列ごとに保持する。

系列が色より多い場合、色リストは折り返し、リストの最初の色から再スタートします。

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 enum値の1つ。

この値は、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)

アクセス関数:Notifier signal: このプロパティは、ラベルに使用するフォントを保持します:

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

このプロパティはラベルの背景色を保持します。

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)

Notifier シグナル:

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)

themeType で新しいテーマを構築します。Theme の組み込みテーマのいずれかを指定します。オプションでparent パラメータが与えられ、QObject コンストラクタに渡されます。

[virtual noexcept] Q3DTheme::~Q3DTheme()

テーマを破棄します。

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。