QGraphsTheme Class

QGraphsThemeクラスはグラフのビジュアル・スタイルを提供します。詳細...

Header: #include <QGraphsTheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: GraphsTheme
Inherits: QObject and QQmlParserStatus

パブリックタイプ

enum class ColorScheme { Automatic, Light, Dark }
enum class ColorStyle { Uniform, ObjectGradient, RangeGradient }
enum class Theme { QtGreen, QtGreenNeon, MixSeries, OrangeSeries, YellowSeries, …, UserDefined }

プロパティ

パブリック関数

QGraphsLine axisX() const
QFont axisXLabelFont() const
QGraphsLine axisY() const
QFont axisYLabelFont() const
QGraphsLine axisZ() const
QFont axisZLabelFont() const
QColor backgroundColor() const
QList<QColor> borderColors() const
qreal borderWidth() const
QGraphsTheme::ColorScheme colorScheme() const
QGraphsTheme::ColorStyle colorStyle() const
QGraphsLine grid() const
bool isBackgroundVisible() const
bool isGridVisible() const
bool isLabelBackgroundVisible() const
bool isLabelBorderVisible() const
bool isPlotAreaBackgroundVisible() const
QColor labelBackgroundColor() const
QFont labelFont() const
QColor labelTextColor() const
bool labelsVisible() const
QColor multiHighlightColor() const
QColor plotAreaBackgroundColor() const
QList<QColor> seriesColors() const
QList<QLinearGradient> seriesGradients() const
void setAxisX(const QGraphsLine &newAxisX)
void setAxisXLabelFont(const QFont &newAxisXLabelFont)
void setAxisY(const QGraphsLine &newAxisY)
void setAxisYLabelFont(const QFont &newAxisYLabelFont)
void setAxisZ(const QGraphsLine &newAxisZ)
void setAxisZLabelFont(const QFont &newAxisZLabelFont)
void setBackgroundColor(QColor newBackgroundColor)
void setBackgroundVisible(bool newBackgroundVisible)
void setBorderColors(const QList<QColor> &newBorderColors)
void setBorderWidth(qreal newBorderWidth)
void setColorScheme(QGraphsTheme::ColorScheme newColorScheme)
void setColorStyle(QGraphsTheme::ColorStyle newColorStyle)
void setGrid(const QGraphsLine &newGrid)
void setGridVisible(bool newGridVisibility)
void setLabelBackgroundColor(QColor newLabelBackgroundColor)
void setLabelBackgroundVisible(bool newLabelBackgroundVisibility)
void setLabelBorderVisible(bool newLabelBorderVisibility)
void setLabelFont(const QFont &newFont)
void setLabelTextColor(QColor newLabelTextColor)
void setLabelsVisible(bool newLabelsVisibility)
void setMultiHighlightColor(QColor newMultiHighlightColor)
void setPlotAreaBackgroundColor(QColor newBackgroundColor)
void setPlotAreaBackgroundVisible(bool newBackgroundVisibility)
void setSeriesColors(const QList<QColor> &newSeriesColors)
void setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients)
void setSingleHighlightColor(QColor newSingleHighlightColor)
void setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No)
QColor singleHighlightColor() const
QGraphsTheme::Theme theme() const

シグナル

詳細説明

グラフ全体に影響を与える視覚的なプロパティを指定します。いくつかの組み込みテーマがあり、そのまま使用することも、自由に変更することもできる。

テーマは、UserDefined enum 値を使用してゼロから作成できます。デフォルトのコンストラクタを使用してテーマを作成すると、新しいユーザー定義テーマが生成されます。

テーマのカスタマイズ

デフォルトのテーマはQtGreen ですが、各プロパティをカスタマイズすることが可能です。

次の表は、テーマによって制御されるプロパティと、UserDefined のデフォルト値の一覧です。

使用例

何も変更せずに組み込みテーマを作成する:

QGraphsTheme *theme = new QGraphsTheme();

組み込みテーマを作成し、いくつかのプロパティを変更する:

QGraphsTheme *theme = new QGraphsTheme();
theme->setBackgroundVisible(false);
theme->setLabelBackgroundVisible(false);

ユーザー定義テーマの修正テーマは前のスニペットと同じように作成されている:

theme->setTheme(QGraphsTheme::Theme::UserDefined);
theme->setBackgroundColor(QColor(QRgb(0x99ca53)));
theme->setBackgroundVisible(true);
QList<QColor> colors = { QColor(QRgb(0x209fdf)) };
theme->setSeriesColors(colors);
theme->setColorStyle(QGraphsTheme::ColorStyle::Uniform);
theme->setLabelFont(QFont(QStringLiteral("Impact"), 35));
theme->setGridVisible(true);
auto gridline = theme->grid();
gridline.setMainColor(QColor(QRgb(0x99ca53)));
theme->setGrid(gridline);
theme->setLabelBackgroundColor(QColor(0xf6, 0xa6, 0x25, 0xa0));
theme->setLabelBackgroundVisible(true);
theme->setLabelBorderVisible(true);
theme->setLabelTextColor(QColor(QRgb(0x404044)));
theme->setMultiHighlightColor(QColor(QRgb(0x6d5fd5)));
theme->setSingleHighlightColor(QColor(QRgb(0xf6a625)));
theme->setBackgroundColor(QColor(QRgb(0xffffff)));

テーマがグラフに設定された後、いくつかのプロパティを修正する:

QQuickWidget quickWidget;
Q3DBarsWidgetItem bars;
bars.setWidget(&quickWidget);
bars.widget()->setMinimumSize(QSize(512, 512));
bars.activeTheme()->setTheme(QGraphsTheme::Theme::MixSeries);
QList<QColor> color = { QColor(Qt::red) };
bars.activeTheme()->setSeriesColors(color);
bars.activeTheme()->setSingleHighlightColor(Qt::yellow);

メンバー型ドキュメント

enum class QGraphsTheme::ColorScheme

グラフの配色を表す。

定数説明
QGraphsTheme::ColorScheme::Automatic0背景色は、利用可能であればプラットフォームの配色に従います。利用できない場合は、ライト外観が使用されます。
QGraphsTheme::ColorScheme::Light1背景色はテキスト色より明るく、すなわちテーマは明るい。
QGraphsTheme::ColorScheme::Dark2すなわちテー マは暗い。

Qt::ColorSchemeも参照

enum class QGraphsTheme::ColorStyle

グラデーションの種類。

定数説明
QGraphsTheme::ColorStyle::Uniform0オブジェクトは単一色でレンダリングされます。使用される色はseriesColors,singleHighlightColor,multiHighlightColor プロパティで指定されます。
QGraphsTheme::ColorStyle::ObjectGradient1オブジェクトは、オブジェクトの高さに関係なく、各オブジェクトに完全なグラデーションを使用して着色されます。使用されるグラデーションはseriesGradients,singleHighlightGradient およびmultiHighlightGradient プロパティで指定されます。
QGraphsTheme::ColorStyle::RangeGradient2オブジェクトは、オブジェクトの高さとY軸上の位置によって決まる完全なグラデーションの一部を使用して着色されます。使用されるグラデーションはseriesGradients,singleHighlightGradient,multiHighlightGradient プロパティで指定されます。

enum class QGraphsTheme::Theme

組み込みテーマ。

定数説明
QGraphsTheme::Theme::QtGreen0緑を基調とした明るいテーマ。
QGraphsTheme::Theme::QtGreenNeon1緑色のネオンを基調とした明るいテーマ。
QGraphsTheme::Theme::MixSeries2様々な色が混ざったテーマ。
QGraphsTheme::Theme::OrangeSeries3オレンジを基調としたテーマ。
QGraphsTheme::Theme::YellowSeries4黄色を基調としたテーマ。
QGraphsTheme::Theme::BlueSeries5ブルーを基調としたテーマ。
QGraphsTheme::Theme::PurpleSeries6紫を基調としたテーマ。
QGraphsTheme::Theme::GreySeries7グレーを基調としたテーマ。
QGraphsTheme::Theme::UserDefined8ユーザー定義のテーマ。詳細については、Customizing Theme を参照してください。

プロパティ Documentation

axisXLabelFont : QFont

このプロパティは、x軸のラベルに使用されるフォントを保持する。

アクセス関数:

QFont axisXLabelFont() const
void setAxisXLabelFont(const QFont &newAxisXLabelFont)

通知シグナル:

void axisXLabelFontChanged()

axisYLabelFont : QFont

このプロパティは、y軸のラベルに使用されるフォントを保持する。

アクセス関数

QFont axisYLabelFont() const
void setAxisYLabelFont(const QFont &newAxisYLabelFont)

ノーティファイアシグナル:

void axisYLabelFontChanged()

axisZLabelFont : QFont

このプロパティは、z軸のラベルに使用するフォントを保持します。

アクセス関数

QFont axisZLabelFont() const
void setAxisZLabelFont(const QFont &newAxisZLabelFont)

ノーティファイアシグナル:

void axisZLabelFontChanged()

backgroundColor : QColor

このプロパティは、グラフが描画されるビューの色を保持します。デフォルト値はcolorScheme に依存します。

アクセス関数:

QColor backgroundColor() const
void setBackgroundColor(QColor newBackgroundColor)

アクセス関数:Notifier シグナル:

void backgroundColorChanged()

backgroundVisible : bool

このプロパティは、背景が表示されているかどうかを保持します。

背景はbackgroundColor の値を使用して描画されます。 デフォルト値はtrue です。

アクセス関数:

bool isBackgroundVisible() const
void setBackgroundVisible(bool newBackgroundVisible)

アクセス関数: Notifier signal: このプロパティは、背景が表示されているかどうかを保持します:

void backgroundVisibleChanged()

borderColors : QList<QColor>

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

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

colorStyle が Uniform でない場合は、即座に反映されません。

アクセス関数:

QList<QColor> borderColors() const
void setBorderColors(const QList<QColor> &newBorderColors)

通知シグナル:

void borderColorsChanged()

borderWidth : qreal

デフォルト値は1.0

アクセス関数:

qreal borderWidth() const
void setBorderWidth(qreal newBorderWidth)

アクセス関数: Notifier シグナル: このプロパティは、グラフのボーダーの幅を保持します:

void borderWidthChanged()

colorScheme : QGraphsTheme::ColorScheme

使用するグラフの配色。

アクセス関数:

QGraphsTheme::ColorScheme colorScheme() const
void setColorScheme(QGraphsTheme::ColorScheme newColorScheme)

Notifier シグナル:

void colorSchemeChanged()

Qt::ColorSchemeも参照

colorStyle : QGraphsTheme::ColorStyle

グラフの色のスタイル。QGraphsTheme::ColorStyle enum値の1つ。

この値は、Abstract3DSeries.colorStyle をシリーズで明示的に設定することでオーバーライドできます。

注意: このプロパティは、Qt Graphs for 2D では効果がありません。

アクセス関数:

QGraphsTheme::ColorStyle colorStyle() const
void setColorStyle(QGraphsTheme::ColorStyle newColorStyle)

通知シグナル:

void colorStyleChanged(QGraphsTheme::ColorStyle type)

QGraphsTheme::ColorStyleも参照してください

gridVisible : bool

このプロパティは、グリッド線を描画するかどうかを保持します。

この値はすべてのグリッド線に影響します。デフォルト値はtrue です。

アクセス関数:

bool isGridVisible() const
void setGridVisible(bool newGridVisibility)

通知シグナル:

void gridVisibleChanged()

labelBackgroundColor : QColor

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

labelBackgroundVisiblefalse の場合は影響しません。デフォルト値はcolorScheme に依存します。

アクセス関数:

QColor labelBackgroundColor() const
void setLabelBackgroundColor(QColor newLabelBackgroundColor)

ノーティファイアシグナル:

void labelBackgroundColorChanged()

labelBackgroundVisible : bool

このプロパティは、ラベルの背景をカラーで描画するか、完全に透明な背景で描画するかを保持する。

背景の描画にはlabelBackgroundColor の値(アルファ値を含む)が使われます。

背景のあるラベルは、最も長いラベルを基準に、軸ごとに等しい大きさに描かれ、テキストはその中央に配置されます。背景のないラベルはそのまま描画され、グラフ内の位置に応じて左揃えまたは右揃えになります。デフォルト値はtrue

アクセス関数:

bool isLabelBackgroundVisible() const
void setLabelBackgroundVisible(bool newLabelBackgroundVisibility)

通知シグナル:

void labelBackgroundVisibleChanged()

labelBorderVisible : bool

このプロパティは、背景を持つラベルに対してラベルの境界線を描画するかどうかを保持します。

labelBackgroundVisiblefalse の場合、 何の効果も持ちません。デフォルト値はtrue です。

アクセス関数:

bool isLabelBorderVisible() const
void setLabelBorderVisible(bool newLabelBorderVisibility)

通知シグナル:

void labelBorderVisibleChanged()

labelFont : QFont

このプロパティは、ラベルに使われるフォントを保持します。

アクセス関数:

QFont labelFont() const
void setLabelFont(const QFont &newFont)

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

void labelFontChanged()

labelTextColor : QColor

このプロパティは、ラベルに使用されるフォントの色を保持する。デフォルト値はcolorScheme に依存する。

アクセス関数:

QColor labelTextColor() const
void setLabelTextColor(QColor newLabelTextColor)

このプロパティは、ラベルを描画するかどうかを保持します:

void labelTextColorChanged()

labelsVisible : bool

このプロパティは、ラベルが全く描画されないかどうかを保持する。

こ れがfalse の場合、 他のすべての ラ ベルプ ロパテ ィ は効力を持ち ません。デフォルト値はtrue です。

アクセス関数:

bool labelsVisible() const
void setLabelsVisible(bool newLabelsVisibility)

ノーティファイアシグナル:

void labelsVisibleChanged()

multiHighlightColor : QColor

こ のプ ロパテ ィ は、 選択 さ れたオブジ ェ ク ト のハ イ ラ イ ト 色を保持 し ます。

selectionModeQtGraphs3D::SelectionFlag::Row またはQtGraphs3D::SelectionFlag::Column フラグが設定されている場合に使用されます。デフォルト値はcolorScheme に依存します。

アクセス関数:

QColor multiHighlightColor() const
void setMultiHighlightColor(QColor newMultiHighlightColor)

ノーティファイアシグナル:

void multiHighlightColorChanged(QColor color)

multiHighlightGradient : QQuickGradient* const

このプロパティは、選択されたオブジェクトのハイライトグラデーションを保持する。

selectionModeQtGraphs3D::SelectionFlag::Row またはQtGraphs3D::SelectionFlag::Column フラグが設定されている場合に使用されます。デフォルト値はcolorScheme に依存します。

ノーティファイアシグナル:

void multiHighlightGradientQMLChanged()

plotAreaBackgroundColor : QColor

こ のプ ロパテ ィ は、 グ ラ フ プ ロ ッ ト 領域の背景の色を保持 し ます。デフォルト値はcolorScheme に依存します。

アクセス関数:

QColor plotAreaBackgroundColor() const
void setPlotAreaBackgroundColor(QColor newBackgroundColor)

ノーティファイアシグナル:

void plotAreaBackgroundColorChanged()

plotAreaBackgroundVisible : bool

このプロパティは、プロットエリアの背景が表示されているかどうかを保持します。

背景はplotAreaBackgroundColor の値を使用して描画されます。 デフォルト値はtrue です。

アクセス関数:

bool isPlotAreaBackgroundVisible() const
void setPlotAreaBackgroundVisible(bool newBackgroundVisibility)

通知シグナル:

void plotAreaBackgroundVisibleChanged()

seriesColors : QList<QColor>

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

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

colorStyle が Uniform でない場合は、即座には効果がありません。

この値は、baseColor をシリーズで明示的に設定することで上書きできます。

アクセス関数:

QList<QColor> seriesColors() const
void setSeriesColors(const QList<QColor> &newSeriesColors)

通知シグナル:

void seriesColorsChanged(const QList<QColor> &list)

singleHighlightColor : QColor

このプロパティは、選択されたオブジェクトのハイライト色を保持します。

selectionModeQtGraphs3D::SelectionFlag::Item フラグが設定されている場合に使用される。デフォルト値はcolorScheme に依存する。

アクセス関数:

QColor singleHighlightColor() const
void setSingleHighlightColor(QColor newSingleHighlightColor)

通知シグナル:

void singleHighlightColorChanged(QColor color)

singleHighlightGradient : QQuickGradient* const

このプロパティは、選択されたオブジェクトのハイライトグラデーションを保持します。

selectionModeQtGraphs3D::SelectionFlag::Item フラグが設定されている場合に使用されます。デフォルト値はcolorScheme に依存します。

通知シグナル:

void singleHighlightGradientQMLChanged()

theme : QGraphsTheme::Theme

テーマのタイプ。タイプが設定されていない場合、タイプはGraphsTheme.Theme.QtGreen です。アイテムが構築された後にテーマのタイプを変更すると、テーマの他のすべてのプロパティが、定義済みのテーマが指定するものに変更されます。グラフのアクティブなテーマのテーマ・タイプを変更すると、接続されているすべての系列もリセットされ、新しいテーマが使用されます。

アクセス関数:

QGraphsTheme::Theme theme() const
void setTheme(QGraphsTheme::Theme newTheme, QGraphsTheme::ForceTheme force = ForceTheme::No)

通知シグナル:

void themeChanged(QGraphsTheme::Theme theme)

メンバ関数ドキュメント

QList<QLinearGradient> QGraphsTheme::seriesGradients() const

テーマが使用する系列グラデーションのリストを返す。

setSeriesGradients()も参照

void QGraphsTheme::setSeriesGradients(const QList<QLinearGradient> &newSeriesGradients)

テーマのシリーズグラデーションとしてnewSeriesGradients を設定する。

seriesGradients() も参照して ください。

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