Active Qt

QtのActiveXとCOMのサポートにより、Qt for Windowsの開発者は以下のことが可能になります:

  • Qt for Windows の開発者は、以下のことが可能になります:Qt アプリケーションで、任意の ActiveX サーバが提供する ActiveX コントロールや COM オブジェクトにアクセスして使用する。
  • 任意の数の Qt オブジェクトやウィジェットを COM オブジェクトや ActiveX コントロールとして、Qt アプリケーションを COM サーバーとして利用できるようにする。

Qt での ActiveX の使用についての詳細は、「Qt で ActiveX サーバを構築する」を参照してください。

ActiveQt フレームワークは 2 つのモジュールから構成されています:

  • QAxContainerモジュールは、QObject のサブクラスであるQAxObject と、QWidget のサブクラスであるQAxWidget を実装する静的ライブラリで、COM オブジェクトや ActiveX コントロールのコンテナとして機能します。
  • QAxServerモジュールは、プロセス中および実行可能なCOMサーバーの機能を実装する静的ライブラリーです。このモジュールは、QAxAggregatedQAxBindableQAxFactory の各クラスを提供します。

ActiveX を使用する Qt プロジェクトの開発とビルドを簡素化するツールのセットが提供されています。

モジュールの使用

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

CMakeでビルドする

find_package() コマンドを使って、Qt6 パッケージの中から必要なモジュールコンポーネントを探します:

find_package(Qt6 REQUIRED COMPONENTS AxContainer AxServer)
target_link_libraries(mytarget PRIVATE Qt6::AxContainer Qt6::AxServer)

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

qmakeによるビルド

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

QT += axcontainer axserver

記事とガイド

例題

リファレンス

ライセンスと使用許諾

QAxContainerQAxServer モジュールは、The Qt Company の商用ライセンスで利用できます。さらに、BSD 3-条項「新規」または「改訂」ライセンスでも利用可能です。

詳細はQt ライセンスを参照してください。

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