如何为项目QtCreator创建子目录?

问题描述 投票:0回答:11

我想将我的 Qt 项目分成几个目录,因为它变得非常大。但是,当我在 QtCreator 中单击“浏览”时,没有“添加目录”,并且“添加新”中也没有这样的内容。这可以以某种方式完成吗?

qt qt-creator qmake
11个回答
40
投票

您可以使用的一种方法是为每个子目录添加一个项目包含文件。

Qt Creator 以嵌套方式在 GUI 中显示这些内容,并允许您向其中添加文件。

例如

在project.pro中

include(folder1/include.pri)

在文件夹1/include.pri中

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

等等


29
投票

答:如何在QtCreator中为项目创建文件夹或子目录?

在 QT Creator 3.1.x 之前,您可以 右键单击您的项目 ->“添加新...”并更改所需文件夹的路径。

Qt add new...

该文件夹必须存在,Qt 不会为您创建它。

Add a new class and change the default folder Qt

Qt 负责处理 .pro 文件中的路径。

Qt takes care of the path in your .pro file

Qt takes care of the path in your .pro file

就是这样!


20
投票

刚刚遇到了同样的问题,并找到了一个相对简单的答案。

要将

file.cpp
移动到
newFolder
,您只需将文件重命名(右键单击 -> 重命名)为
newFolder\file.cpp

Qt Creator 会将其移动到新文件夹并自动更新

.pro
文件。


9
投票

从版本 1.2.90 开始,如果仅 Filter tree 选项未设置为 Simplify tree,则 Qt Creator 将项目文件夹中存在的子文件夹显示为项目树中的分支。


7
投票

QT-CREATOR 中似乎无法创建子目录。

尝试以下操作:

  1. 使用文件资源管理器或通过项目文件夹中的命令行创建多个子目录(例如 net/gui/test/data/ ...)!
  2. 将现有文件移至这些新文件夹中。并更改 *.proj 文件中的路径!
  3. 在新文件夹中从头开始创建新文件(通过 AddNew...)!

... QT-CREATOR 仅显示包含名称写入 *.pro 或 *.pri 文件的文件的文件夹。在根级别,QT-CREATOR 区分 HEADERS、SOURCES、FORMS 和 OTHER FILES。在这些根文件夹中,您可以重复找到项目自己的子文件夹。 (本文未涉及拆分为子项目。)


5
投票

当您在 Qt 项目中创建新类时,您可以在此向导中选择路径,并在此指定新文件夹,例如 DAL、BO、UI...


3
投票

您可以创建一个子目录,只要您想在其中创建文件即可。转到父目录,然后向其中“添加”文件。 “浏览”位置并在浏览窗口中创建一个新文件夹。同意,这不太直观。


1
投票

这是我所做的:

  1. 在项目文件夹(IDE 外部)中,创建您想要放入代码的目录,并将源文件移至这些目录中。

    • 假设您将“foo.cpp”和“foo.h”放入目录“foo”中。
  2. 在“*.pro”文件中,转到引用您移动的源文件的每一行并添加目录名称,然后在源文件名前面添加“/”。

.pro 在第 2 步之前:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro 第 2 步后:

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

HEADERS += \
foo/foo.h
  1. 重建您的项目以进行测试。

0
投票

当我的“数据”目录只有一个子目录“模型”时,它只是显示为“数据/模型”。添加“dao”作为另一个子目录后,它以传统的+/-方式显示数据以显示模型和dao。


0
投票

您可以在文件夹管理器中添加文件夹,但它们应该包含一个文件,然后转到 QT 并右键单击您的项目,然后单击“添加现有目录”并选择您的文件夹。如果文件夹为空,则不会显示。


0
投票

创建子目录。

1.include "include(Segment/segment.pri)" in the .pro file
2.Create a folder(dir) inside of the project.
3.inside the folder create a .pri(dir.pri) file.
© www.soinside.com 2019 - 2024. All rights reserved.