よくある質問
Qt Creator に関するよくある質問にお答えします。
また、「既知の問題」や「ハウツー」のセクション、またはデバッグなどの特別な分野については「トラブルシューティング」のセクションにも質問の答えがあるかもしれません。
一般的な質問
Qt Creator MinGWが付属していますが、Qtでこのバージョンを使用する必要がありますか?
Qtバージョンに対してビルドされたバージョンを使用してください。
Qt Creator Git、Ninja、コンパイラなどのヘルパーアプリケーションが見つかりません。どうすればいいですか?
Qt Creator を起動する際に、そのアプリケーションがシステムの PATH にあることを確認してください。また、Preferencesを選択して、アプリケーションに指定されている設定を確認してください。多くのプラグインは、必要なツールへのパスか、実行環境を指定しています。
また、環境設定の編集で説明するように、グローバルに、または特定のプロジェクトやキットに対して、ツールを見つけて実行するための環境を指定することもできます。
これは特に、macOSのFinder、Dock、Spotlight、GnomeのDock、Dash、アクティビティ概要のように、ターミナルアプリケーションからではなく、デスクトップからQt Creator 。この場合、起動したアプリケーションは、シェル用に設定した環境(ターミナル・アプリケーションが使用する環境)を継承せず、launchd (macOS)またはgnome-shell (Gnome)から継承します。つまり、ターミナル用に設定したパス、例えば macOS の Homebrew 用の/usr/local/bin や/opt/homebrew/bin は、デスクトップから起動した場合、Qt Creator では自動的に利用できなくなります。
報告された問題は解決されましたか?
Qt Project Bug Tracker で問題を調べることができます。
Qt Widgets デザイナー統合に関する質問
スタンドアロンのQt Widgets Designer では動作するのに、Design モードではカスタムウィジェットが読み込まれないのはなぜですか?
Qt Widgets Designer は標準の場所からプラグインをフェッチし、ビルド キーに一致するプラグインをロードします。この場所は、スタンドアロンと統合されたQt Widgets Designer では異なります。
詳細は、「Qt Widgets Designer プラグインの追加」を参照してください。
QML およびQt Quick に関する質問
モジュールがあるにもかかわらず、QMLインポートの下に赤い線が表示されます。
デフォルトでは、Qt Creator は Qt の QML インポート・パスから QML モジュールを探します。時々、モジュールがどこにあるか正しく認識されないことがあります。ビルドシステムとして qmake を使う場合は、アプリケーションの.pro ファイルにQML_IMPORT_PATH を指定してください。CMakeを使う場合は、CMakeLists.txt ファイルにset コマンドを追加してください。
これにより、QMLコードのコード補完が可能になり、エラーメッセージも削除されます。
以下の例では、qmakeプロジェクトのインポートパスを指定し、異なるターゲットプラット フォーム用のビルドキットとランキットを切り替えても動作するようにします:
TEMPNAME = $${QMAKE_QMAKE} MY_QTPATH = $$dirname(TEMPNAME) QML_IMPORT_PATH += $$MY_QTPATH/../qml message("my QML Import Path: "$$QML_IMPORT_PATH)
CMakeプロジェクトのインポートパスの設定方法については、QMLモジュールのインポート を参照してください。
Qt Creator でOpenGLのサポートがないと表示された場合はどうすればよいですか?
QML Profiler のようなQt Creator の一部では、描画に OpenGL API を使うQt Quick 2 を使っています。残念ながら、OpenGLの使用は、特にリモートのセットアップや古いドライバで問題を引き起こす可能性があります。このような場合、Qt Creator はOpenGL関連のエラーメッセージをコンソールに表示したり、Windowsデバッガーのログに記録したりします。
修正方法と回避策は、セットアップによって異なります。最後の手段として、影響を受けるプラグインを無効にすることができます。
仮想マシン
仮想マシンの設定で3Dアクセラレーションを有効にしてください。VirtualBoxの場合は、実験的なDirect3Dサポートを含むゲストアドオンがインストールされていることも確認してください。
Windows
デフォルトでは、Qt Quick 、Direct3D 11を使用します。問題がある場合は、グラフィックドライバを更新するか、DirectXのバージョンを更新してください。dxdiag.exe を実行して、Direct3D アクセラレーションが本当に有効になっているかどうかを確認してください。
また、環境変数QSG_RHI_BACKEND をvulkan またはopengl に設定してみてください。詳細はQt for Windows - Graphics Accelerationを参照してください。
Unix
glxgears を実行して、OpenGL が一般的に動作するかどうかを素早くチェックしてください。OpenGLドライバやレンダラーなどの詳細を得るには、glxinfo の出力をチェックしてください(アプリケーションの出力でOpenGLを検索してください)。
Mesaドライバを使っている場合、LIBGL_ALWAYS_SOFTWARE 環境変数を設定することで、ソフトウェアでOpenGLを強制的にレンダリングさせることができます。
プラグインの無効化
Qt Creator プラグインを無効にすることができます:
- コマンドラインから
-noload QmlProfiler -noload QmlDesigner引数を指定してQt Creator を起動します。 - Help >About Plugins を選択して、プラグインを恒久的に無効にします。
ヘルプに関する質問
Qt API Reference Documentation が見つからず、コンテキストヘルプでもトピックが見つかりません。どうすればいいですか?
Qt バージョンと Qt ドキュメントをインストールするには Qt Online Installer.
インストールされたドキュメント (.qch ファイル) を表示したり、ドキュメントを追加するには、Preferences>Help >Documentation にアクセスしてください。詳細については、「外部ドキュメントを追加する」を参照してください。
デバッガに関する質問
デバッガーのトラブルシューティングについては、「デバッガーのトラブルシューティング」を参照してください。
GDB バージョンを選択できる場合、どちらを使用すべきですか?
Linux と Windows では、Qt Creator と Qt をインストールしたときにインストールされる Python 対応の GDB バージョンを使用してください。macOSでは、GDBはもう公式にはサポートされていません。Python 対応の GDB を自分でビルドするには、Building GDB の指示に従ってください。
Pythonバージョン2.6または2.7を使用する必要があります。
詳細については、サポートされているデバッガを参照してください。
Qt Creator でコアファイルを生成するには?
デバッグ中にコア・ファイルを生成するGDBコマンドを起動するには、View >Views >Debugger Logに進みます。Command フィールドにgcore と入力し、Enter を選択します。コア・ファイルは現在の作業ディレクトリに作成されます。コマンドの引数として、相対パスや絶対パスなど、ファイルの別の場所を指定できます。
コンパイラに関する質問
Qt Creator でマルチコアCPUを利用するにはどうすればよいですか?
Linux および macOS では、Projects モードに移動し、Build Settings で設定を選択し、Build Steps を見つけて、次の値を追加します。<num> は CPU のコア数です:-j <num>
Windowsでは、nmakeは-j パラメータをサポートしていません。代わりに、jomを使うことができる。jomのコンパイル済みバージョンはQt Downloadsからダウンロードできます。PATH%にjom.exe 。Build Settings に移動し、jom.exe を make コマンドとして設定します。
注意: GNU makeとは異なり、jomは自動的にコアを検出し、CPUのコア数と同じ数の並列プロセスを生成します。上記のように-j パラメータを使用することで、この動作をオーバーライドすることができます。
Qt インストールに関する質問
バイナリパッケージからインストールした Qt で QSslSocket が使えません。どうすればいいですか?
バイナリパッケージのQtはQT_NO_OPENSSLが定義された状態でビルドされています。再構築は可能です。詳しくはhttp://www.qtcentre.org/threads/19222-Qssl を参照してください。
Ubuntu や Debian では、ディストリビューションのどの開発パッケージが必要ですか?
sudo apt-get install libglib2.0-dev libsm-dev libxrender-dev libfontconfig1-dev libxext-dev
QtOpenGLを使用する場合は、以下のパッケージも必要です:
sudo apt-get install libgl-dev libglu-dev
プラットフォーム関連の質問
アプリケーションの出力はQt Creator のどこに表示されますか?
Unix (Linux と macOS) では、 qDebug() と関連する関数は標準出力とエラー出力を使用します。アプリケーションを実行またはデバッグすると、アプリケーション出力で出力を見ることができます。
入力を必要とするコンソール・アプリケーションの場合は、Projects >Run Settings >Run in terminal を選択します。使用するターミナルを指定するには、Preferences>Environment >System を選択します。内部ターミナルを使用するには、[環境設定] > [Terminal ] > [Use internal terminal] を選択します。
Windowsの場合: コンソール・アプリケーションと GUI アプリケーションでは、出力の表示が異なります。
qmake プロジェクトの場合、.pro ファイルのCONFIG += console 設定は、アプリケーションが他のランタイムを使用してコンソール・アプリケーションとしてビルドされることを指定します。
これは CMake プロジェクトの標準的な動作です。Windows 上で GUI アプリケーションを作成したり、macOS 上でアプリケーションバンドルを作成したりするには、CMakeLists.txt ファイルのqt_add_executableコマンドにWIN32 またはMACOSX_BUNDLE プロパティを指定する必要があります。
コンソールアプリケーションを実行すると、呼び出し元のアプリケーションのコンソールウィンドウで出力を見ることができます。呼び出し元のアプリケーションが GUI アプリケーションの場合(たとえば、Qt Creator のリリース・ビルド・バージョン)、新しいコンソール・ウィンドウが開かれます。このタイプのアプリケーションでは、qDebug() と関連する関数は標準出力とエラー出力を使用します。
コンソール・アプリケーションでは、Projects >Run Settings >Run in terminal を選択することをお勧めします。
GUIアプリケーションの場合、qDebug() および関連する関数は Windows API 関数OutputDebugString() を使用します。出力はApplication Output に表示されます。ただし、Qt Creator は、一度に1つのソースからの出力のみを正しく表示することができます。GUIアプリケーションからの出力を表示するには、DebugView for Windowsなどの外部デバッグ出力ビューアを使用できます。
新機能に関する質問
リクエストした機能は実装されますか?
予定されている機能であれば、タスクトラッカーで確認できます。すでに実装されている機能については、次期リリースの変更ファイルに記載されています。
なぜQt Creator はデフォルトでエディターにタブを使わないのですか?
デフォルトでタブを使わない主な理由は以下の通りです:
- タブは拡大縮小できません。5~6個のエディターを開いている場合は問題なく機能しますが、10個になると面倒になります。また、タブバーよりも横方向のスペースが必要な場合は、インターフェイスがまったく機能しなくなります。
- タブはあなたの作業セットに適応しない。
- 一般的な解決策は、ユーザーにタブの並び替え機能を与えることです。ユーザーはコードを書く代わりにタブを管理しなければならない。
- そうしないと混乱してしまうからだ。
次のユースケースを考えてみよう:開発者はエディタを切り替えたい。
実際、開発者はエディタを切り替えたいとは思わないが、タスクを達成するために切り替えなければならないかもしれない。私たちは、開発者がタスクを実行しながらナビゲートするためのより良い方法を提供するために、タスクが何であるかを把握する必要があります。
多くのユースケースに共通する要因の1つは、開いているファイル群で作業中にエディタを切り替えることだ。Ctrl+Tabを選択してファイル間を移動し、ファイルの種類に応じて正しいエディタでファイルを開くことができます。リストは最後に使用した順にソートされます。
一般的に、ユーザーは、異なるファイルで定義または宣言されているにもかかわらず、関連する複数のクラスまたは関数で作業することもあります。Qt Creator には、そのためのショートカットが2つあります:F2でカーソル下のシンボルをたどり、Ctrl+Shift+Uでそのシンボルへの参照を見つける。
さらに、開発者は次のこともできる:
- F4でヘッダーとソースを切り替える。
- Alt+左を選択すると、ナビゲーション履歴を後方に移動できる。
- ロケーター(Ctrl+K)を使って、Qt Creator に行き先を指示する。
ロケーターはファイルを開くのにも使えますが、ファイルを開くのもタスクを達成するためのステップにすぎません。例えば、次のような使用例を考えてみよう:someclass.cpp/someclass.hにあるSomeClassのAFunctionを修正する。
タブ・ユーザー・インターフェースでは、開発者はタブ・バーでsomeclass.cpp を検索し、次に::AFunction を検索します。その後、タブ・バーでsomeclass.h を検索し、その関数がインラインであることを知り、問題を修正し、どこから来たかを忘れてしまいます。
Qt Creator を使えば、開発者はCtrl+K m AFun を入力して関数を見つけることができる。通常、関数名を3~4文字入力するだけでよい。その後、問題を修正し、Alt+Backで元の場所に戻ることができます。
その他のロケーター・フィルターには、c (クラス)、: (すべてのシンボル)、. (現在のファイル内のシンボル)がある。
開いているドキュメントを切り替えるもうひとつの方法は、Open Documents のビューでドキュメントを選択することです。
それでもエディタでタブを使いたい場合は、Preferences>Environment >Interface と進み、Use tabbed editors を選択してください。
Copyright © The Qt Company Ltd. and other contributors. 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.