QGraphsTheme Class
QGraphsThemeクラスはグラフのビジュアル・スタイルを提供します。詳細...
ヘッダー | #include <QGraphsTheme> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
qmake | QT += graphs |
QML で | GraphsTheme |
を継承しています: | QObject そしてQQmlParserStatus |
- 継承されたメンバを含む全メンバのリスト
- QGraphsTheme はQt Graphs C++ Common Classes の一部です。
パブリックな型
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 |
シグナル
void | axisXChanged() |
void | axisXLabelFontChanged() |
void | axisYChanged() |
void | axisYLabelFontChanged() |
void | axisZChanged() |
void | axisZLabelFontChanged() |
void | backgroundColorChanged() |
void | backgroundVisibleChanged() |
void | borderColorsChanged() |
void | borderWidthChanged() |
void | colorSchemeChanged() |
void | colorStyleChanged(QGraphsTheme::ColorStyle type) |
void | gridChanged() |
void | gridVisibleChanged() |
void | labelBackgroundColorChanged() |
void | labelBackgroundVisibleChanged() |
void | labelBorderVisibleChanged() |
void | labelFontChanged() |
void | labelTextColorChanged() |
void | labelsVisibleChanged() |
void | multiHighlightColorChanged(QColor color) |
void | multiHighlightGradientQMLChanged() |
void | plotAreaBackgroundColorChanged() |
void | plotAreaBackgroundVisibleChanged() |
void | seriesColorsChanged(const QList<QColor> &list) |
void | singleHighlightColorChanged(QColor color) |
void | singleHighlightGradientQMLChanged() |
void | themeChanged(QGraphsTheme::Theme theme) |
詳細説明
グラフ全体に影響を与える視覚的なプロパティを指定します。いくつかの組み込みテーマがあり、そのまま使用することも、自由に変更することもできる。
テーマは、UserDefined enum 値を使用してゼロから作成できます。デフォルトのコンストラクタを使用してテーマを作成すると、新しいユーザー定義テーマが生成されます。
テーマのカスタマイズ
デフォルトのテーマはQtGreen ですが、各プロパティをカスタマイズすることが可能です。
次の表は、テーマによって制御されるプロパティと、UserDefined のデフォルト値の一覧です。
プロパティ | デフォルト値 |
---|---|
backgroundVisible | true |
seriesColors | Qt::black |
seriesGradients | QLinearGradient.基本的に真っ黒。 |
colorStyle | 一様。 |
labelFont | QFont |
gridVisible | true |
labelBackgroundVisible | true |
labelBorderVisible | true |
labelsVisible | true |
使用例
何も変更せずに組み込みテーマを作成する:
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::Automatic | 0 | 利用可能な場合、背景色はプラットフォームの配色に従います。利用できない場合は、ライト外観が使用されます。 |
QGraphsTheme::ColorScheme::Light | 1 | 背景色はテキスト色より明るい、すなわちテーマは明るい。 |
QGraphsTheme::ColorScheme::Dark | 2 | すなわちテー マは暗い。 |
Qt::ColorSchemeも参照のこと 。
enum class QGraphsTheme::ColorStyle
グラデーションの種類
定数 | 値 | 説明 |
---|---|---|
QGraphsTheme::ColorStyle::Uniform | 0 | オブジェクトは単一色でレンダリングされる。使用される色はseriesColors,singleHighlightColor,multiHighlightColor プロパティで指定されます。 |
QGraphsTheme::ColorStyle::ObjectGradient | 1 | オブジェクトは、オブジェクトの高さに関係なく、各オブジェクトに完全なグラデーションを使用して着色されます。使用されるグラデーションはseriesGradients,singleHighlightGradient およびmultiHighlightGradient プロパティで指定されます。 |
QGraphsTheme::ColorStyle::RangeGradient | 2 | オブジェクトは、オブジェクトの高さとY軸上の位置によって決まる完全なグラデーションの一部を使用して着色されます。使用されるグラデーションはseriesGradients,singleHighlightGradient andmultiHighlightGradient プロパティで指定されます。 |
enum class QGraphsTheme::Theme
内蔵テーマ。
定数 | 値 | 説明 |
---|---|---|
QGraphsTheme::Theme::QtGreen | 0 | 緑を基調とした明るいテーマ。 |
QGraphsTheme::Theme::QtGreenNeon | 1 | 緑色のネオンを基調とした明るいテーマ。 |
QGraphsTheme::Theme::MixSeries | 2 | 様々な色が混ざったテーマ。 |
QGraphsTheme::Theme::OrangeSeries | 3 | オレンジを基調としたテーマ。 |
QGraphsTheme::Theme::YellowSeries | 4 | 黄色を基調としたテーマ。 |
QGraphsTheme::Theme::BlueSeries | 5 | ブルーを基調としたテーマ。 |
QGraphsTheme::Theme::PurpleSeries | 6 | 紫を基調としたテーマ。 |
QGraphsTheme::Theme::GreySeries | 7 | グレーを基調としたテーマ。 |
QGraphsTheme::Theme::UserDefined | 8 | ユーザー定義のテーマ。詳細については、Customizing Theme を参照してください。 |
プロパティ・ドキュメンテーション
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) |
通知シグナル:
void | backgroundColorChanged() |
backgroundVisible : bool
このプロパティは背景が見えるかどうかを保持する。
背景はbackgroundColor の値を用いて描画されます。 デフォルト値はtrue
です。
アクセス関数:
bool | isBackgroundVisible() const |
void | setBackgroundVisible(bool newBackgroundVisible) |
通知シグナル:
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) |
通知シグナル:
void | borderWidthChanged() |
colorScheme : QGraphsTheme::ColorScheme
使用中のグラフの配色。
アクセス関数:
QGraphsTheme::ColorScheme | colorScheme() const |
void | setColorScheme(QGraphsTheme::ColorScheme newColorScheme) |
通知シグナル:
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) |
gridVisible : bool
このプロパティは、グリッド線を描画するかどうかを保持する。
この値はすべてのグリッド線に影響します。デフォルト値はtrue
です。
アクセス関数:
bool | isGridVisible() const |
void | setGridVisible(bool newGridVisibility) |
通知シグナル:
void | gridVisibleChanged() |
labelBackgroundColor : QColor
このプロパティはラベルの背景の色を保持する。
labelBackgroundVisible がfalse
の場合、効果はありません。デフォルト値は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
このプロパティは、背景を持つラベルに対してラベルボーダーを描画するかどうかを保持する。
labelBackgroundVisible がfalse
の場合、何の効果もありません。デフォルト値はtrue
です。
アクセス関数:
bool | isLabelBorderVisible() const |
void | setLabelBorderVisible(bool newLabelBorderVisibility) |
通知シグナル:
void | labelBorderVisibleChanged() |
labelFont : QFont
このプロパティは、ラベルに使用されるフォントを保持する。
アクセス関数
QFont | labelFont() const |
void | setLabelFont(const QFont &newFont) |
通知シグナル
void | labelFontChanged() |
labelTextColor : QColor
このプロパティは、ラベルに使用されるフォントの色を保持する。
軸がlabelTextColor を明示的に指定している場合、これは影響しません。
デフォルト値はcolorScheme に依存します。
アクセス関数:
QColor | labelTextColor() const |
void | setLabelTextColor(QColor newLabelTextColor) |
通知シグナル:
void | labelTextColorChanged() |
labelsVisible : bool
このプロパティは、ラベルが全く描画されないかどうかを保持する。
これがfalse
である場合、他のすべてのラベル・プロパティは効果を持たない。デフォルト値はtrue
です。
アクセス関数:
bool | labelsVisible() const |
void | setLabelsVisible(bool newLabelsVisibility) |
Notifier シグナル:
void | labelsVisibleChanged() |
multiHighlightColor : QColor
このプロパティは、選択されたオブジェクトのハイライト色を保持する。
selectionMode にQtGraphs3D::SelectionFlag::Row
またはQtGraphs3D::SelectionFlag::Column
フラグが設定されている場合に使用されます。デフォルト値はcolorScheme に依存します。
アクセス関数:
QColor | multiHighlightColor() const |
void | setMultiHighlightColor(QColor newMultiHighlightColor) |
通知シグナル:
void | multiHighlightColorChanged(QColor color) |
multiHighlightGradient : QQuickGradient* const
このプロパティは、選択オブジェクトのハイライトグラデーションを保持する。
selectionMode にQtGraphs3D::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
このプロパティは、選択されたオブジェクトのハイライト色を保持する。
selectionMode にQtGraphs3D::SelectionFlag::Item
フラグが設定されている場合に使用されます。デフォルト値はcolorScheme に依存します。
アクセス関数:
QColor | singleHighlightColor() const |
void | setSingleHighlightColor(QColor newSingleHighlightColor) |
通知シグナル:
void | singleHighlightColorChanged(QColor color) |
singleHighlightGradient : QQuickGradient* const
このプロパティは、選択されたオブジェクトのハイライトグラデーションを保持します。
selectionMode にQtGraphs3D::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()も参照 。
© 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.