このページでは

Qt OpenGL

Qtには、UI開発における2つの主なアプローチがあります: Qt Quick および Qt Widgets。これらは異なる種類のユーザーインターフェースをサポートするために存在し、それぞれのタイプに合わせて最適化された別々のグラフィックスエンジンを基盤としています。

Qt OpenGL グラフィックス API で記述されたコードを、これら両方のユーザーインターフェースタイプと組み合わせることが可能です。これは、アプリケーションに独自の OpenGL 依存コードが含まれている場合や、サードパーティ製の OpenGL ベースのレンダラーと統合する場合に役立ちます。

Qt OpenGL モジュールには、この種の統合をより簡単かつ迅速に行えるようにするための利便性向上のためのクラスが用意されています。

Qt OpenGL またQt Widgets

Qt Widgets は通常、高度に最適化され、高精度なソフトウェアラスタライザによってレンダリングされ、アプリケーションが実行されているプラットフォームに適した方法で画面上に最終的なコンテンツが再現されます。

しかし、OpenGLと組み合わせることも可能です。 Qt Widgets と OpenGL を組み合わせることも可能です。そのための主なエントリポイントは、QOpenGLWidget クラスです。このクラスを使用すると、ウィジェットツリーの特定の部分に対して OpenGL レンダリングを有効にすることができ、Qt OpenGL モジュール内のクラスを使用することで、アプリケーション側の OpenGL コードを容易に実装できます。

Qt OpenGL また、Qt Quick

Qt Quick は、ハードウェアアクセラレーションによるレンダリングに最適化されています。デフォルトでは、ターゲットプラットフォームに最も適した低レベルのグラフィックスAPIに基づいて構築されます。

たとえば、Windows ではデフォルトで `Direct3D ` が使用され、macOS では `Metal` がデフォルトとなります。ただし、OpenGL がサポートされているプラットフォームでは、アクティブなグラフィックス API として OpenGL を手動で選択することも可能です。

OpenGLを有効にする方法の詳細については Qt Quickについては、シーングラフ・レンダラーのドキュメントを参照してください。

モジュールの使用

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

CMake を使用したビルド

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

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

詳細については、「CMake によるビルド」の概要を参照してください。

qmake を使用したビルド

qmake を使用してモジュールをビルドするように設定するには、プロジェクトの .pro ファイル内で、QT 変数の値としてモジュールを追加します:

QT += opengl

例

リファレンス

モジュールの進化

「Qt OpenGL 」の変更点には、Qt 6シリーズ向けに実施されたモジュールのAPIおよび機能に関する重要な変更が記載されています。

ライセンスおよび商標

Qt OpenGL モジュールは、The Qt Company から商用ライセンスで提供されています。さらに、フリーソフトウェアライセンス(GNU Lesser General Public License バージョン 3 またはGNU General Public License バージョン 2)の下でも利用可能です。詳細については、「Qt ライセンス」を参照してください。

OpenGL®は、米国およびその他の国におけるSilicon Graphics, Inc.の商標です。

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