プロジェクトQtCreatorのサブディレクトリを作成する方法は?


102

Qtプロジェクトはかなり大きくなっているので、いくつかのディレクトリに分割したいと思います。ただし、QtCreatorで[参照]をクリックすると、[ディレクトリの追加]がなく、[新規追加]にそのようなものはありません。これは何とかできますか?


ファイルマネージャでサブディレクトリを作成することの何が問題になっていますか?
Ariya Hidayat

2
dirsを手動で作成できますが、プロジェクトブラウザに表示されません。
gruszczy 2009

5
@AriyaこれはほとんどのIDEで利用可能な機能であり、人々それについて質問するので、少なくともこれに賛成票を投じているはずです。
Piotr Dobrogost 2009

49
すべての敬意を払って、Qt-Creatorは使いやすさを損ないます(ユーザーインターフェイスに関して)開発者として、誰かがパブリックフォーラムのプロジェクトにサブディレクトリを追加する方法を尋ねなければならないことを知った場合、深刻な問題があることを知っています。 IDE。
エデンショー2013年

4
@GabrielFかなり簡単...?修正されました...?ほとんどのIDEのように、「ディレクトリの作成」(または「ディレクトリの追加」を作成者の精神に則したもの)だけを選択できないのはなぜですか。これは基本的な機能であり、ほとんどのくだらないエディタにも備わっています-メモ帳でディレクトリを作成できます!そのような単純で基本的なタスクを実行するための「メソッド」があるべきではありません-それは明白でなければなりません。
文書

回答:


40

使用できる方法の1つは、サブディレクトリごとにプロジェクトインクルードファイルを追加することです。

Qt CreatorはこれらをGUIにネストして表示し、ファイルを追加できるようにします。

例えば

project.pro

include(folder1/include.pri)

folder1 / include.pri

HEADERS += MyClass.h
SOURCES += MyClass.cpp


IDEからこのネストを行うことはできますか、またはこれらのファイルとディレクトリを手動で設定する必要がありますか?
gruszczy 2009

1
私は簡単に見て、インクルードファイルを手動で追加する必要があると思いますが、プロジェクトに新しいファイルを追加すると、Qt Creatorを使用すると、メインプロジェクトファイルではなくインクルードファイルにそれらを追加できます。
ニック

3
OK、うまくいけば彼らは新しいバージョンでこの機能を追加するでしょう。
gruszczy 2009

2
:私の答えを検討してくださいstackoverflow.com/questions/24959959/...
Erowlin

24

答え: QtCreatorでプロジェクトのフォルダーまたはサブディレクトリを作成するにはどうすればよいですか?

QTクリエーター3.1.xへ前に、次のことができ、プロジェクトを右クリックして「> - ...新しい追加」としたいフォルダのパスを変更します。

Qt新規追加...

フォルダは存在している必要があります。Qtはそれを作成しません。

新しいクラスを追加し、デフォルトのフォルダーQtを変更する

Qtは.proファイルのパスを処理します。

Qtが.proファイルのパスを処理します

Qtが.proファイルのパスを処理します

それでおしまい !


1
QtCreatorでCMakeプロジェクトを使用している場合、これは機能しないことに注意してください。
エティエンヌ

@エティエンヌ、その通りです。動いていない。この場合、私たちは何をすべきでしょうか?
pushandpop 2015

20

ちょうど同じ問題があり、比較的簡単な答えがわかりました。

移動するfile.cppために必要なのnewFolderは、ファイルの名前を変更する(右クリック->名前の変更)だけnewFolder\file.cppです。

Qt Creatorはそれを新しいフォルダーに移動し、.proファイルを自動的に更新します。


3
フォルダーは置き換え前に既に存在している必要があることを忘れないでください
Anton

2
移動したファイルがGITの管理下にある場合、QtクリエーターはGITで必要な変更も処理しますか?
シリコ

@Silicomancer GitはQt Creatorではなく、移動されたファイルを処理します。Qt Creatorで説明されている回避策(「名前の変更」を使用)を介してファイルを移動する以外は何もする必要はありません。ファイルシステムでファイルを移動した場合、Gitはこれを認識しますが、ファイルのパスはQt Creatorの.PROファイルで調整されません...
R Yoda

@Silicomancerはい。qtreacorがプロジェクトがgitでバージョン管理されていることを認識した場合、すべてのアクションが複製されます。これには、少なくともファイルの作成、削除、名前変更、移動が含まれます。
Equilibrius、

9

バージョン1.2.90から、Qt Creatorは、[ツリーのフィルター ]オプションのみが[ ツリーの単純化 ]に設定されていない場合、プロジェクトのツリーのブランチとしてプロジェクトのフォルダーに存在するサブフォルダーを表示します。


7

QT-CREATORでサブディレクトリを作成するのは不可能のようです。

以下を試してください:

  1. ファイルエクスプローラーを使用するか、プロジェクトフォルダー内でコマンドラインを使用して、いくつかのサブディレクトリを作成します(例:net /gui /test /data / ...)。
  2. 既存のファイルをこれらの新しいフォルダに移動します。* .proj内のパスを変更しますファイルます!
  3. 新しいフォルダ内に最初から新しいファイルも作成します(AddNew ...を使用)。

... QT-CREATORは、*。proまたは* .priファイルに名前が書き込まれたファイルを含むフォルダーのみを表示します。ルートレベルでは、QT-CREATORはヘッダー、ソース、フォーム、その他のファイルを区別します。これらのルートフォルダー内には、プロジェクトが所有するサブフォルダーが繰り返し見つかります。(このテキストではカバーされていないサブプロジェクトに分割されています。)


そうだね。Qt Creator内でQt priプロジェクトが表示され、sプロジェクトが適切に使用されている場合、IDEは入れ子になった方法で表示します。ただし、ファイルシステムレベルでは、すべてのファイル(subdirサブプロジェクトを使用および作成する場合を除く)は同じレベルのディレクトリ階層にあります。これにより、誰かがファイルエクスプローラー(Windowsエクスプローラー、Thunar、Nautilusなど)でプロジェクトを見ると、かなり面倒になります。適切なファイル構造が必要な場合は、手動で(@CWIMMERが示唆するように)実行するのが唯一の方法です。
rbaleksandar 2016年

3

作成したいファイルがある限り、サブディレクトリを作成できます。親ディレクトリに移動し、ファイルを「追加」します。場所を「参照」し、参照ウィンドウ内に新しいフォルダを作成します。同意します、それはかなり直感的ではありません。


3

Qt-Projectで新しいクラスを作成するとき、このウィザードでパスを選択し、DAL、BO、UIなどの新しいフォルダーを指定できます。


0

'data'ディレクトリにサブモデル 'model'が1つしかない場合、「data / model」と表示されます。「dao」を別のサブディレクトリとして追加した後、従来の+/-の方法でデータを表示し、モデルとdaoを明らかにしました。


0

これが私がやったことです:

  1. プロジェクトフォルダー(IDEの外部)で、コードを挿入するディレクトリを作成し、ソースファイルをそれらのディレクトリに移動します。

    • 「foo.cpp」と「foo.h」をディレクトリ「foo」に置いたとします。
  2. 「* .pro」ファイルで、移動したソースファイルを参照する各行に移動し、ディレクトリ名を追加し、その後にソースファイル名の前に「/」を付けます。

ステップ2の前の.pro:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

ステップ2の後の.pro:

SOURCES += main.cpp \ 
foo/foo.cpp

HEADERS += \
foo/foo.h
  1. テストするプロジェクトを再ビルドします。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.