¿Cómo crear un subdirectorio para un proyecto QtCreator?

102

Me gustaría dividir mi proyecto Qt en varios directorios porque está creciendo bastante. Sin embargo, cuando hago clic en navegar en QtCreator, no hay 'Agregar directorio' ni tal cosa en 'Agregar nuevo'. ¿Se puede hacer esto de alguna manera?

gruszczy
fuente
¿Qué hay de malo en crear un subdirectorio con su administrador de archivos?
Ariya Hidayat
2
Puedo crear directorios manualmente, pero no los veo en el navegador de proyectos.
gruszczy
5
@Ariya Usted debe tener por lo menos hasta votó esta ya que esta es una característica disponible en la mayoría de los entornos de desarrollo y la gente se preguntaba por él.
Piotr Dobrogost
49
Con el debido respeto, pero Qt-Creator apesta en usabilidad (con respecto a la interfaz de usuario) Como desarrollador, si ve que alguien tiene que preguntar cómo agregar un subdirectorio a un proyecto en un foro público, entonces sabe que hay un problema serio con eso. IDE.
Edenshaw
4
@GabrielF bastante fácil ...? está arreglado...? ¿Por qué no podemos simplemente seleccionar "crear directorio" (o "agregar directorio" para estar en el espíritu del Creador) como en la mayoría de los IDE? Es la funcionalidad básica, que incluso la mayoría de los editores de mierda tienen: ¡puedes crear un directorio en el bloc de notas! No debería haber un "método" para realizar una tarea tan simple y básica; debería ser obvio.
doc

Respuestas:

40

Un método que puede utilizar es agregar un archivo de inclusión de proyecto para cada subdirectorio.

Qt Creator los muestra en la GUI de forma anidada y le permite agregarles archivos.

p.ej

en project.pro

include(folder1/include.pri)

en la carpeta1 / include.pri

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

etc

Mella
fuente
¿Puedo hacer este anidamiento desde el IDE o tengo que configurar manualmente esos archivos y directorios?
gruszczy
1
Eché un vistazo rápido y creo que debe agregar los archivos de inclusión manualmente, pero al agregar nuevos archivos a un proyecto, Qt Creator le permitirá agregarlos a un archivo de inclusión en lugar del archivo principal del proyecto.
Nick
3
Bien, espero que agreguen esta función en la nueva versión.
gruszczy
2
Considere mi respuesta: stackoverflow.com/questions/24959959/…
Erowlin
24

Respuesta: ¿Cómo crear una carpeta o subdirectorio para un proyecto en QtCreator?

Antes de QT Creator 3.1.x, puede hacer clic derecho en su proyecto -> " agregar nuevo ... " y cambiar la ruta a la carpeta que desee.

Qt agregar nuevo ...

La carpeta debe existir , Qt no la creará por usted.

Agregue una nueva clase y cambie la carpeta predeterminada Qt

Qt se encarga de la ruta en su archivo .pro.

Qt se encarga de la ruta en su archivo .pro

Qt se encarga de la ruta en su archivo .pro

Eso es !

Erowlin
fuente
1
Cabe señalar que esto no funcionará cuando se utilizan proyectos de CMake en QtCreator.
Étienne
@ Étienne, tienes razón. No funciona. ¿Qué debemos hacer en este caso?
pushandpop
20

Simplemente tuve el mismo problema y descubrí una respuesta relativamente simple.

Todo lo que necesita hacer para mover file.cppa newFolderes cambiar el nombre del archivo (click derecho -> Cambiar nombre) a newFolder\file.cpp.

Qt Creator lo moverá a la nueva carpeta y actualizará automáticamente el .proarchivo.

Avidan Borisov
fuente
3
no olvide que la carpeta ya debería existir antes del reemplazo
Anton
2
Si el archivo movido está bajo el control de GIT, ¿Qt creator también se encarga de los cambios necesarios en GIT?
Silicomancer
@Silicomancer Git está manejando archivos movidos por usted, no por Qt Creator. No hay nada que tenga que hacer más que mover el archivo a través de esta solución temporal descrita (usando "renombrar") en Qt Creator. Si estuviera moviendo el archivo solo en el sistema de archivos, Git lo reconocería, pero la ruta del archivo no se ajustaría en el .PROarchivo de Qt Creator ...
R Yoda
@Silicomancer Sí. Si qtreacor reconoció que el proyecto está versionado con git, duplicará todas las acciones. Esto incluye, al menos, la creación, eliminación, cambio de nombre y movimiento de archivos.
Equilibrius
9

A partir de la versión 1.2.90, Qt Creator muestra las subcarpetas que existen en la carpeta del proyecto como ramas en el árbol del proyecto si solo la opción Árbol de filtro no está configurada en Simplificar árbol .

Piotr Dobrogost
fuente
7

Solo parece imposible crear subdirectorios en QT-CREATOR.

Intente lo siguiente:

  1. Cree varios subdirectorios, con un explorador de archivos o mediante la línea de comandos dentro de la carpeta del proyecto (por ejemplo, net / , gui / , test / , data / ...).
  2. Mueva los archivos existentes a estas nuevas carpetas. ¡Y cambie sus rutas dentro del archivo * .proj !
  3. ¡Cree nuevos archivos también desde el principio dentro de las nuevas carpetas (por AddNew ... )!

... QT-CREATOR muestra solo las carpetas que contienen archivos que están escritos con sus nombres en el archivo * .pro o * .pri. A nivel raíz, QT-CREATOR distingue entre ENCABEZADOS, FUENTES, FORMULARIOS y OTROS ARCHIVOS. Dentro de estas carpetas raíz, puede encontrar subcarpetas propias del proyecto, repetidamente. (Lo que no se cubre en este texto se divide en subproyectos).

CWIMMER
fuente
Cierto. Si un proyecto de Qt se ve dentro de Qt Creator y prilos proyectos se usan correctamente, el IDE muestra las cosas de una manera agradable anidada. Sin embargo, en el nivel del sistema de archivos, todos los archivos (excepto cuando se usan subdiry crean subproyectos) están en el mismo nivel de jerarquía de directorios. Esto hace que las cosas sean bastante complicadas cuando alguien mira el proyecto en un explorador de archivos (Explorador de Windows, Thunar, Nautilus, etc.). Si se requiere una estructura de archivo adecuada, entonces hacer las cosas manualmente (como sugiere @CWIMMER aquí) es la única forma de hacerlo.
rbaleksandar
3

Puede crear un subdirectorio siempre que tenga un archivo que desee crear en él. Vaya al directorio principal y "Agregue" un archivo. "Buscar" para la ubicación y crear una nueva carpeta dentro de la ventana de exploración. De acuerdo, eso no es del todo intuitivo.

michaeljt
fuente
3

Cuando crea una nueva clase en su Qt-Project, puede elegir la ruta en este asistente y por la presente especificar nuevas carpetas como DAL, BO, UI, ...

Miguel Rodríguez
fuente
0

Cuando mi directorio de 'datos' solo tenía un 'modelo' de subdirectorio, solo aparecía como "datos / modelo". Después de agregar 'dao' como otro subdirectorio, mostró datos con la forma tradicional +/- para revelar el modelo y el dao.

James Wald
fuente
0

Esto es lo que hice:

  1. En la carpeta del proyecto (fuera del IDE), cree directorios en los que le gustaría poner su código y mueva sus archivos fuente a esos directorios.

    • Digamos que pone "foo.cpp" y "foo.h" en el directorio "foo".
  2. En su archivo "* .pro", vaya a cada línea que haga referencia a los archivos de origen que movió y agregue el nombre del directorio, seguido de '/' delante del nombre del archivo de origen.

.pro antes del paso 2:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro después del paso 2:

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

HEADERS += \
foo/foo.h
  1. Reconstruya su proyecto para probarlo.
Nicholas Mathern
fuente