Qt チャート
Qt Charts モジュールは、使いやすいチャートコンポーネントのセットを提供します。Qt Graphics View Framework を使用して、チャートを最新のユーザーインターフェースに統合します。Qt Charts は、QWidgets、QGraphicsWidget 、または QML タイプとして使用できます。テーマを選択することで、印象的なチャートを簡単に作成することができます。
注意: Qt Charts モジュールは現在メンテナンス中です。新しいプロジェクトでは、Qt Graphsモジュールの使用を検討してください。QtGraphs 2D チャートのレンダリングには、Qt Quick Shapes を使用します。これは、Qt Charts モジュールが使用する旧式の Qt Graphics View Framework と比較して、より現代的な GUI 技術です。
Qt Charts QML APIは、QMLアプリケーションでチャートを表示するための直感的でシンプルな方法です。
この例では、簡単な折れ線グラフを作成する方法を示します:
ChartView { title: "Line Chart" anchors.fill: parent antialiasing: true LineSeries { name: "Line" XYPoint { x: 0; y: 0 } XYPoint { x: 1.1; y: 2.1 } XYPoint { x: 1.9; y: 3.3 } XYPoint { x: 2.1; y: 2.1 } XYPoint { x: 2.9; y: 4.9 } XYPoint { x: 3.4; y: 3.0 } XYPoint { x: 4.1; y: 3.3 } } }
モジュールを使う
QML API
モジュールの QML 型はQtCharts
のインポートから利用できます。この型を使うには、.qml ファイルに以下の import 文を追加してください:
import QtCharts
注: モジュールはレンダリングのために Qt のGraphics View Frameworkに依存しているため、QML タイプにはQApplication のインスタンスが必要です。QGuiApplication だけでは十分ではありません。しかし、Qt Creator の Qt Quick Application ウィザードで作成されたプロジェクトは、デフォルトでQGuiApplication を使用する Qt Quick テンプレートに基づいています。このようなプロジェクトのQGuiApplication インスタンスは、すべてQApplication に置き換える必要があります。
C++ API
Qt モジュールの C++ API を使用するには、モジュールライブラリに対して直接、または他の依存関係を通 してリンクする必要があります。CMakeや qmakeなど、いくつかのビルドツールはこのための専用サポートを持っています。
CMake でのビルド
find_package()
コマンドを使用して、必要なモジュール・コンポーネントをQt6
パッケージから探します:
find_package(Qt6 REQUIRED COMPONENTS Charts)
target_link_libraries(mytarget PRIVATE Qt6::Charts)
詳細については、CMakeによるビルドの概要を参照してください。
qmakeでのビルド
モジュールをqmakeでビルドするように設定するには、プロジェクトの.proファイルにQT
変数の値としてモジュールを追加します:
QT += charts
モジュールの進化
Qt Charts の変更点には、Qt 6 シリーズの Qt で行われた、モジュールの API と機能の重要な変更点が記載されています。
記事とガイド
例
API リファレンス
ライセンス
Qt Charts はThe Qt Company の商用ライセンスで利用できます。また、GNU General Public License, version 3 の下でも利用可能です。詳細はQt Licensingをご覧ください。
©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。