このページでは

Qt Charts C++ Classes

Qt Charts API 用の C++ クラス。詳細...

このモジュールはバージョン6.10以降、非推奨となっています。新しいコードでの使用は強く推奨しません。

クラス

詳細な説明

代わりにQtGraphs を使用してください。

Charts APIは、Qt Graphics View Frameworkの上に構築されています。QChart クラスを使用することで、チャートをQGraphicsWidget として表示できます。ただし、QWidget をベースにした利便性向上のためのクラスであるQChartView も存在します。これらを使用することで、Qt Charts を通常のQtウィジェットとして迅速に利用することが可能になります。

注: Qt Charts モジュールは Qt 6.10以降で非推奨となっています。新しいプロジェクトでは、代わりに Qt Graphs モジュールを使用してください。Qt Graphs は、各プラットフォームのネイティブレンダリングバックエンド(macOSではMetal、WindowsではDirectX、LinuxではOpenGLまたはVulkan)を使用して、2Dおよび3Dグラフの両方に対してハードウェアアクセラレーションによるレンダリングを実現します。Qt Graphs は、 Qt Quick ShapesQt Charts モジュールで使用されていた旧式のQt Graphics View Frameworkの代わりに、2Dグラフのレンダリングに`Qt Graphs`を使用します。Qt Charts からQt Graphs モジュールへ移行するには、Qt Graphs の「Qt Charts からの移行」を参照してください。

Qt モジュールの C++ API を使用するには、モジュールライブラリに対して、直接または他の依存関係を通じてリンクを行う必要があります。CMake や qmake など、いくつかのビルドツールには、このための専用のサポートが備わっています。

注: Qt Creator の「Qt Quick 」アプリケーションウィザードで作成されたプロジェクトは 、デフォルトでQGuiApplication を使用するQt Quick 2テンプレートに基づいています。プロジェクト内のこのようなQGuiApplication のインスタンスはすべて、QApplication に置き換える必要があります。これは、モジュールがレンダリングのためにQtのGraphics View Frameworkに依存しているためです。

CMakeでこのモジュールを使用するには、find_package() コマンドを実行して、Qt6 パッケージ内の必要なモジュールコンポーネントを指定します。

find_package(Qt6 COMPONENTS Charts REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Charts)

qmake を使用してビルドする場合、プロジェクトの .pro ファイル内のQT 変数の値としてこのモジュールを追加してください:

QT += charts

各チャートタイプは、QAbstractSeries から派生したクラスによって表されます。チャートを作成するには、関連するシリーズクラスのインスタンスを使用し、それをQChart のインスタンスに追加する必要があります。

QLineSeries* series = new QLineSeries();
series->append(0, 6);
series->append(2, 4);
...
chartView->chart()->addSeries(series);
chartView->chart()->createDefaultAxes();

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