CLion 2023.3 ヘルプ

Qt プロジェクト

Qt(英語) は、GUI アプリケーションを作成するためのクロスプラットフォームの C++ フレームワークです。Qt は独自のビルドシステム qmake(英語) を使用し、バージョン Qt4 以降の CMake(英語) でのビルドもサポートしています。

純粋な Qmake プロジェクトを CLion に直接インポートすることはできません。ただし、CMake に変換すると、通常の CMake アプリケーションとして開いて管理できます。新規プロジェクトウィザードを使用して、CLion で CMake ベースの Qt プロジェクトを作成するを実行することもできます。

CMake ベースの Qt プロジェクト

CMake バージョン 3.0 以降の場合、Qt には、CMake が Qt4 および Qt5 ライブラリを見つけて使用できるようにするモジュールが含まれています。Qt プロジェクト用に CMakeLists.txt を構成するには、次の手順を実行します。

Qt プロジェクトの CMakeLists.txt

  1. find_package コマンドを追加して、必要なライブラリとヘッダーファイルを見つけます。例:

    find_package(Qt5Widgets REQUIRED)

    次に、target_link_libraries を使用して、ターゲットをこれらのライブラリとヘッダーに依存させます。

    target_link_libraries(helloworld Qt5::Widgets)
  2. find_package を正常に実行するには、Qt のインストール場所を CMake に指示する必要があります。

    これを行う方法の 1 つは、CMAKE_PREFIX_PATH 変数を設定することです。CMake の設定ダイアログの -D を介して、または find_package の前に set コマンドを介して渡すことができます。

    例: Windows 上の MinGW の場合:

    set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.14.0\\5.14.0\\mingw73_32\\")

    または

    set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.14.0\\5.14.0\\mingw73_32\\lib\\cmake\\")
  3. プロジェクトで MOC(英語)UIC(英語)RCC(英語) を使用する場合、次の行を追加して、対応するコンパイラーの自動呼び出しを有効にします。

    set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON)
  4. add_executable() コマンドのすべての .ui および .qrc ファイルを、.cpp ソースとともにリストします。

    add_executable( helloworld main.cpp mainwindow.cpp application.qrc )

以下に、単純な「Hello、world」アプリケーション用の完全な CMakeLists.txt スクリプトを示します。

cmake_minimum_required(VERSION 3.10) project(Qt-CMake-HelloWorld) set(CMAKE_CXX_STANDARD 17) set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_PREFIX_PATH "C:\\Qt\\Qt5.14.0\\5.14.0\\mingw73_32\\") find_package(Qt5Widgets REQUIRED) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTORCC ON) add_executable(helloworld main.cpp mainwindow.cpp application.qrc) target_link_libraries(helloworld Qt5::Widgets)

CLion で Qt プロジェクトをセットアップする

Windows のツールチェーン

  1. Windows に Qt をインストールするときは、CLion、MinGW、MSVC で使用している環境に一致するディストリビューションを選択してください。

    MinGW の場合、バージョンとビットネス(32 ビット MinGW または MinGW-w64)の両方がツールチェーンのセットアップと一致する必要があります。

    Qt installer
  2. CLion で、設定Ctrl+Alt+S)に移動し、ビルド、実行、デプロイ | ツールチェーンに移動して、Qt インストールに一致するツールチェーンを選択します。

    複数の Qt インストールがある場合は、必ず CMAKE_PREFIX_PATH指定したものと同じツールチェーンを選択してください。

    例として、MinGW の場合:

    MinGW toolchain

CMake の設定

  • Qt プロジェクトは CLion では通常の CMake プロジェクトとして処理されるため、必要に応じて設定 | ビルド、実行、デプロイ | CMake で CMake 設定を構成できます。

    例: 異なるビルドタイプで異なる CMake プロファイルを作成し、選択した CMake ジェネレーターをセットアップできます。

    このダイアログでは、CMakeLists.txt で設定する代わりに、CMAKE_PREFIX_PATH などの CMake オプションを指定することもできます。

    CMake options for a Qt project

デバッガーレンダラー

CLion のプロジェクトには、通常 Qt ツールに付属している Qt 型のレンダラーを使用できます。ただし、現時点では、.gdbinit/.lldbinit スクリプトを使用するか、MSVC の場合はネイティブビジュアライザーを使用して、手動で設定する必要があります。

  • Windows MSVC

    MSVC ツールチェーン用の CLion のデバッガーは、プロジェクトにネイティブビジュアライザーがある場合、使用できます。設定 | ビルド、実行、デプロイ | デバッガー | データビュー | C/C++LLDB で NatVis レンダラーを有効にするオプションを必ず設定してください。

    例: プロジェクトルートに qt5.natvis(英語) をコピーすると、CLion が自動的にそれを検出し、レンダリングに使用します。

  • Windows MinGW/macOS/Linux

    非 MSVC ツールチェーンの場合、解決策は .gdbinit/.lldbinit を介して Qt レンダラーを構成することです。これらのスクリプトは、GDB または LLDB を呼び出すたびにそれぞれ読み込まれます。

    1. GDB 用の KDevelop フォーマッター(英語)LLDB 用の KDevelop フォーマッター(英語)Lekensteyn の qt5printers (GDB)(英語) を試すか、独自のプリティプリンターを作成できます。

      カスタムのプリティープリンターを作成するには、LLDB(英語) または GDB(英語) の公式の指示に従ってください。IntelliJ Rust プラグインに実装されている Rust 用のプリティプリンター(英語)を参照として使用できます。

    2. .gdbinit/.lldbinit を介してデバッガーをレンダラーにポイントします。この github リポジトリ(英語)で例を見つけてください。

    3. .gdbinit/.lldbinit ファイルをプロジェクトルートに配置し、ここで説明するようにホームディレクトリで許可します。

Qt デザイナーで UI ファイルを開く

デフォルトでは、CLion は Qt Designer(英語) 内の .ui ファイルを開きます。

IDE は、設定 | 言語 & フレームワーク | QML で指定された Qt binaries フォルダーで Qt Designer へのパスを検索します。

Qt Designer を Qt とは別にインストールした場合、CLion はそれを検出せず、エディターで .ui ファイルを開く可能性があります。この場合、次の手順を実行して Qt デザイナーで開きます。

  1. 設定 | エディター | ファイルタイプに移動します。

  2. 認識されたファイルタイプリストから Qt UI デザイナーフォームを選択し、関連するファイル拡張子を削除します。

    Removing the association for .ui files
  3. 関連アプリケーションで開かれたファイルを選択し、.ui 拡張子を追加します。

    Reassign .ui to external application
  4. ワイルドカードを再割り当てをクリックします。

  5. 適用をクリックし、ダイアログを閉じます。

    次回プロジェクトツリーで .ui ファイルをダブルクリックすると、そのファイルが Qt デザイナーで開かれます。

CMake ベースの Qt プロジェクトの作成

CLion は、Qt 用に Qt ConsoleExecutable と QtWidgetsExecutable の 2 つのプロジェクトテンプレートを提供します。

ファイル | 新しいプロジェクトを呼び出し、左側のペインでプロジェクトタイプを選択します。場所、言語標準、Qt バージョンを指定します。CMAKE_PREFIX_PATH で使用するパスを指定することもできます。準備ができたら作成をクリックします。

Qt project templates

CLion は、CMAKE_PREFIX_PATH 変数を含む CMakeLists.txt が自動的に入力された、すぐに使用できるスタブプロジェクトを生成します。

Qt Console Executable template project

QtUI クラステンプレート

対応する .ui.cpp.h ファイルを使用して Qt クラスをすばやく作成できます。

  1. プロジェクトビューで、コンテキストメニューから新規を選択するか、Alt+Insert を押します。QtUI クラスを選択してください:

    New Qt UI Class menu option
  2. 開いたダイアログで、クラス名を入力し、次の設定を構成します。

    • ファイル名ベース - 生成する .ui / .cpp / .h ファイルの名前を指定します。

    • 親クラス - QWidgetQMainWindowQDialog、またはカスタム親クラスを選択します。

    • 名前空間 - 必要に応じて、囲んでいる名前空間を指定します。

    • ターゲットに追加 - このチェックボックスを設定すると、選択したターゲットのソースのリストに新しいファイルが自動的に追加されます。

    New Qt UI Class dialog
  3. CLion は、設定 | エディター | ファイルおよびコードテンプレートで定義されたテンプレート(それぞれ Qt Designer フォーム、Qt クラス、Qt クラスヘッダー)に従って .ui.cpp.h ファイルを生成します。必要に応じて、これらのテンプレートを必要に応じて調整できます。

    Files generated for a new Qt UI class

Qt 固有のコードインサイト

  • CLion は Qt シグナルとスロットにコード補完を提供し、対応するメンバーのみを表示するように候補リストをフィルタリングします。

    Completion for Qt signals

    補完は、SIGNAL() および SLOT() マクロでも機能します。

    Completion for the SLOT macro
  • CLion の自動インポートは Qt スタイルのヘッダーファイルをサポートし、可能な限り最短の #include を提供します。

    Qt-style auto-import
  • また、CLion は、Qt 指向の静的コードアナライザーである clazy (英語) と統合されています。設定 | エディター | インスペクション | C/C++ | 静的分析ツール | クレイジーで clazy チェックの重大度とレベルを構成できます。

    Clazy checks

QtCreator キーマップ

CLion は QtCreator キーマップ(英語)をバンドルします。設定 | キーマップで切り替えるか、メインメニュー(Ctrl+`)から表示 | スキームのクイック切り替えを呼び出すことで切り替えることができます。

Switching to the Qt keymap

現在の制限

トラブルシューティング

MinGW で実行しているときにプロセスは終了コード -1073741515 で終了しました (0xC0000135) エラーメッセージが表示される場合、問題は Windows 上の Qt デプロイ(英語)に関連している可能性があります。ダイナミックライブラリと Qt プラグインは実行中のバイナリのディレクトリから見つける必要があります。以下に説明する回避策のいずれかを試してください。

オプション 1

  1. Qt インストールの MinGW ディレクトリ(たとえば、C:\Qt\5.15.1\mingw81_64\bin)にある bin へのパスを、システム PATH または構成設定の環境変数フィールドに追加します。

    これでプロジェクトの問題が解決しない場合は、オプション 2 を試してください。

オプション 2

  1. Qt インストールの MinGW ディレクトリの bin にある .dll -s を、プロジェクトの生成フォルダー(デフォルトでは cmake-build-debug または cmake-build-release)にコピーします。

    必要になる可能性が最も高いライブラリは libstdc++-6.dllQt5Widgets.dllQt5Gui.dllQt5Core.dll ですが、セットアップには他のライブラリも必要になる場合があります。

  2. 実行に使用する構成の設定で、QT_QPA_PLATFORM_PLUGIN_PATH 環境変数を MinGW ディレクトリの plugins\platforms に設定します。

    Environment variable for the Qt plugins path

    詳細は、Qt プラグイン(英語)を参照してください。

関連ページ:

クイック CMake チュートリアル

このチュートリアルでは、CLion で単純な CMake プロジェクトを作成および開発するプロセスを説明します。段階的に、ビルドシステムとしての CMake の基本と、CMake 固有の IDE 設定とアクションを学習します。1. シンプルな CMake プロジェクト:CMake は、CMakeLists と呼ばれるスクリプトを使用して、特定の環境用のビルドファイル (Unix マシンのメイクファイルなど) を生成するメタビルドシステムです。CLion で新しい CMake プロジェクトを作成すると、...

Compilation database

CMake、Gradle、Makefile に基づいていないプロジェクトで作業している場合でも、CLion が提供する高度な IDE 機能を利用できます。1 つの方法は、非 CMake プロジェクトをインポートし、CLion にそれを単純な CMake 構造に変換させることです。別のオプションは、compilation database をロードしてプロジェクトを開くことです。compilation database を使用すると、CLion はプロジェクトファイルを検出し、インクルードパスやコンパ...

カスタムビルドのターゲットとアプリケーション

カスタムビルドターゲットは、特定のビルドシステムやプロジェクトモデルに依存しません。CLion は、ソースのビルドとビルドアーティファクトのクリーニングに選択した外部ツールを使用します。カスタムターゲットは、compilation database プロジェクトで特に役立ちます。compile_commands.json 自体にはアプリケーションの構築と実行に必要な情報が不足していますが、カスタムターゲットとカスタム実行 / デバッグ構成はこの制限を回避できます。次の例では、compilation...

CMakeLists.txt

CMakeLists.txt ファイルには、プロジェクトのソースファイルとターゲット(実行可能ファイル、ライブラリ、その両方)を記述する指示文と命令のセットが含まれています。新しいプロジェクトを作成すると、CLion は自動的に CMakeLists.txt ファイルを生成してプロジェクトのルートディレクトリに配置します。プロジェクトを開くには、CLion を最上位の CMakeLists.txt にポイントしてプロジェクトとして開くを選択します。以下の例は、単純な「Hello, World」プロジェクト...

チュートリアル: Windows で CLion を設定する

WSL ツールチェーンを使用すると、Linux の CMake とコンパイラーを使用してプロジェクトを構築し、Windows マシンで leavCLionLion を実行せずに WSL で実行 / デバッグできます。Microsoft Visual C++:システムに Visual Studio2013, 2015, 2017, 2019,, 2022 をインストールしてください。CLion で、に移動します。をクリックし、ツールチェーンテンプレートのリストから Visual Studio を選択しま...

CMake プロファイル

CMake プロジェクトのビルドに必要な設定は CMake プロファイルに組み込まれています。これには、ツールチェーンとビルド型に加え、ジェネレーターや環境変数などの CMake オプションが含まれます。たとえば、異なるコンパイラーを使用したり、異なる設定でターゲットをビルドしたりするために、プロジェクトに複数のプロファイルを構成できます。プロファイル設定にアクセスする次のいずれかを実行して、CMake プロファイル設定を開きます。に移動します。を押してアクションの検索ダイアログを開き、CMake...