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

我想把我的 Qt 项目划分为几个目录,因为它正在变得相当大。但是,当我在 QtCreator 中点击浏览器时,没有“添加目录”,在“添加新内容”中也没有这样的内容。这能通过某种方式实现吗?

73885 次浏览

One method you could use is to add a project include file for each sub directory.

Qt Creator displays these in the GUI in a nested fashion, and allows you to add files to them.

e.g.

in project.pro

include(folder1/include.pri)

in folder1/include.pri

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

etc

Starting from version 1.2.90 Qt Creator shows subfolders which exist in project's folder as branches in project's tree if only Filter tree option is not set to Simplify tree.

When my 'data' directory only had one sub-directory 'model' it just appeared as "data/model". After adding 'dao' as another sub-directory it displayed data with the traditional +/- manner to reveal model and dao.

It only seems to be impossible to create sub-directories in QT-CREATOR.

Try the following:

  1. Create a number of sub-directories, with a file-explorer or by command line within the project-folder (for example net/, gui/, test/, data/ ...)!
  2. Move exisiting files into these new folders. And change their paths within the *.proj file!
  3. Create new also files from beginning within the new folders (By AddNew...)!

... QT-CREATOR displays only such folders which contain files that are written with their names into the *.pro or a *.pri file. At root level QT-CREATOR distinguishes between HEADERS, SOURCES, FORMS and OTHER FILES. Within these root folders you can find project-own subfolders, repeatedly. (Not covered in this text is splitting into sub-projects.)

You can create a sub-directory as long as you have a file you wish to create in it. Go to the parent directory, and "Add" a file to it. "Browse" for the location and create a new folder inside the browse window. Agreed, that is not quite intuitive.

Just had the same issue, and found out a relatively simple answer.

All you need to do to move file.cpp to newFolder is to rename the file (right click -> Rename) to newFolder\file.cpp.

Qt Creator will move it to the new folder and automatically update the .pro file.

When you create a new Class in your Qt-Project, you can choose the path in this wizard and hereby specify new folders like DAL, BO, UI, ...

Answer : How to create a folder or a subdirectory for a project in QtCreator?

Prior to QT Creator 3.1.x, you can right-click on your project -> "add new..." and change the path to the folder you want.

Qt add new...

The folder must exists, Qt will not create it for you.

Add a new class and change the default folder Qt

Qt takes care of the path in your .pro file.

Qt takes care of the path in your .pro file

Qt takes care of the path in your .pro file

That's it !

Here's what I have done:

  1. In the Project Folder (outside the IDE), create Directories that you'd like to put your code in and move your source files into those directories.

    • Say you put "foo.cpp" and "foo.h" in the directory "foo".
  2. In your "*.pro" file, go to each line that references the source files you moved and add the directory name, followed by '/' in front of the source file name.

.pro before Step 2:

SOURCES += main.cpp \
foo.cpp


HEADERS  += \
foo.h \

.pro after Step 2:

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


HEADERS += \
foo/foo.h
  1. Rebuild your project to test.

you can add folders in your folders manager but they should contain a file, then go QT and right-click on your project then click on "add existing directory" and select your folder. if the folder is empty it's not going to show up.