本文へスキップします。

本文へ

【全Qt】
【全・Qt】SRAロゴ
H1

技術記事:Qt Creator

技術記事

はじめての Qt Creator - ウィジェットアプリケーション

(掲載 2023年2月28日)

デバッグ

Qt Creator には Qt での開発に便利な多くの機能が用意されています。数回に分けて Qt ウィジェットアプリケーションの開発に活用できる、さまざまな機能をご紹介します。ウィジェットのフォーム編集をしてはみたが、フォーム編集でのレイアウト機能の理解を深めたい、さらにフォーム編集用にカスタムウィジェットのプラグインを作成したいという方々を説明対象とします。


はじめに

Qt Creator を用いた Qt ウィジェットアプリケーションの開発についての説明予定事項です。

  • ウィジェットアプリケーション作成
    カスタムウィジェット作成のための Qt Creator によるウィジェットアプリケーション作成方法について説明します。
  • フォーム編集
    以降のスクリーンショットのように、GUI 部品の作成状態を見ながら行うことをフォーム編集と言います。 Qt Creator を使ってフォーム編集をする方法を詳しく説明します。特に、フォーム編集操作によって生成される C++ コードがどのようになるかを理解して、フォーム編集を柔軟にできるようにすることを目的とします。
  • メッセージ翻訳
    Qt のローカライゼーション機能を用いたメッセージ翻訳方法を説明します。
  • カスタムウィジェットプラグイン
    カスタムウィジェットをリファンタリング、プロパティーの追加、レイアウトの調整などをしてからプラグイン化し、既存のウィジェットと同じように Qt Creator のフォーム編集で使えるようにする方法を説明します。

今回は、「ウィジェットアプリケーション作成」について説明し、次回以降で他の項目を説明します。

ウィジェットアプリケーション作成

Qt Creator に用意されたプロジェクトテンプレートを用いてウィジェットアプリケーションを作成する手順を説明します。今回用いる Qt Creator のバージョンは 11.0.2 です。次回以降は、Qt Creator のリリースに合わせて、最新のバージョンを用います。 以下のスクリーンショットは、次回説明するフォーム編集を行ったものです。今回は、Qt Creator のウィジェットアプリケーションのテンプレートを用いたプロジェクト作成までを説明します。今回用いるテンプレートを使えば、Qt ではじめてウィジェットアプリケーションを作る場合でも、フォームを用いたクラス定義だけでなく、メッセージ翻訳と Qt のリソースファイル化も考慮したプロジェクトを簡単に作成できます。



フォームから生成された C++ コードを用い、必要なコードを書き加え、メッセージを翻訳し、ビルドして実行するとこのようになります。


この段階では、カスタムウィジェットをまず作成してみただけです。今後説明するリファクタリングをして汎用的なウィジェットに仕上げます。

Qt クラス生成の設定

フォーム編集結果からコード生成をする際のオプション設定です。メニューバー編集Preferences...C++Qt クラス生成 (Windows と Linux)、アプリケーションメ ニュー設定...C++Qt クラス生成 (macOS)と辿ると Qt クラス生成設定 ダイアログが表示されます。次回以降の説明では、生成されたコードを多重継承して利用するので 多重継承 を選択します。フォーム編集結果から生成されたコードや UI クラスの埋め込み方法については、次回以降の記事で詳しく説明します。





今回用いる Qt ウィジェットアプリケーションのテンプレートでは、実行時の言語変更をサポートする をチェックしても C++ コードに反映されません。実行時の言語変更を考慮したコード生成をするには、ヘッダーファイルと実装ファイル、フォームファイルを削除してから、Qt Designer フォームクラスを追加するようにします。



新規プロジェクト作成

メニューバーファイルNew Project... と辿って、New Project 設定ダイアログを表示し、以下のように Qt ウィジェットアプリケーション プロジェクトのテンプレートを選択し、選択... をクリックします。



プロジェクトパス

プロジェクトの名前とプロジェクトを置くパスを入力し、続きをクリックします。



ビルドシステムの定義

ビルドシステムは、qmake を選択し、続き をクリックします。

クラス情報

クラス名には ColorPreview を入力し、基底グラスは QWidget を選択し、続きをクリックします。

メッセージ翻訳ファイル

Japanese (Japan) を選択し、続き をクリックします。



キットの選択

キットは、Qt のバージョンとプラットフォームの組み合わせです。使用するキットにチェックマークを付け、続き をクリックします。



プロジェクト管理

バージョン管理ツールを選択します。今回はなし を選択し、終了 をクリックします。



ウィジェットアプリケーションのプロジェクトが作成されました。まだ、フォームが未編集なのでビルドして実行をすると空のウィンドウが表示されるだけです。