Come creare una sottodirectory per un progetto QtCreator?


102

Vorrei dividere il mio progetto Qt in diverse directory perché sta diventando piuttosto grande. Tuttavia, quando clicco su Sfoglia in QtCreator, non c'è "Aggiungi directory" e niente di simile in "Aggiungi nuovo". Può essere fatto in qualche modo?


Cosa c'è di sbagliato nel creare una sottodirectory con il tuo file manager?
Ariya Hiday il

2
Posso creare directory manualmente, ma non le vedo nel browser del progetto.
gruszczy

5
@Ariya Dovresti aver votato almeno positivamente perché questa è una caratteristica disponibile nella maggior parte degli IDE e le persone ne chiederanno .
Piotr Dobrogost

49
Con tutto il rispetto ma Qt-Creator fa schifo nell'usabilità (per quanto riguarda l'interfaccia utente) Come sviluppatore se vedi che qualcuno deve chiedere come aggiungere una sottodirectory a un progetto in un forum pubblico, allora sai che c'è un serio problema con quello IDE.
Edenshaw

4
@ GabrielF abbastanza facile ...? è sistemato...? Perché non possiamo semplicemente selezionare "crea directory" (o "aggiungi directory" per essere nello spirito di Creator) come nella maggior parte degli IDE. È la funzionalità di base, che anche la maggior parte degli editor scadenti hanno: puoi creare directory nel blocco note! Non dovrebbe esserci un "metodo" per svolgere un compito così semplice e di base - dovrebbe essere ovvio.
doc

Risposte:


40

Un metodo che potresti usare è aggiungere un file di inclusione del progetto per ogni sottodirectory.

Qt Creator li visualizza nella GUI in modo annidato e consente di aggiungere file ad essi.

per esempio

in project.pro

include(folder1/include.pri)

nella cartella1 / include.pri

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

eccetera


Posso fare questo annidamento dall'IDE o devo impostare manualmente quei file e directory?
gruszczy

1
Ho dato una rapida occhiata e penso che sia necessario aggiungere manualmente i file di inclusione, ma quando si aggiungono nuovi file a un progetto, Qt Creator ti consentirà di aggiungerli a un file di inclusione anziché al file di progetto principale.
Nick

3
OK, si spera che aggiungano questa funzione nella nuova versione.
gruszczy

2
Si prega di prendere in considerazione la mia risposta: stackoverflow.com/questions/24959959/...
Erowlin

24

Risposta: come creare una cartella o una sottodirectory per un progetto in QtCreator?

Prima di QT Creator 3.1.x, è possibile fare clic con il pulsante destro del mouse sul progetto -> " aggiungi nuovo ... " e modificare il percorso della cartella desiderata.

Qt aggiungi nuovo ...

La cartella deve esistere , Qt non la creerà per te.

Aggiungi una nuova classe e cambia la cartella predefinita Qt

Qt si occupa del percorso nel tuo file .pro.

Qt si occupa del percorso nel tuo file .pro

Qt si occupa del percorso nel tuo file .pro

Questo è tutto !


1
Va notato che questo non funzionerà quando si utilizzano progetti CMake in QtCreator.
Étienne

@ Étienne, hai ragione. La sua non funziona. Cosa dovremmo fare in questo caso?
pushandpop

20

Ho appena avuto lo stesso problema e ho trovato una risposta relativamente semplice.

Tutto quello che dovete fare per passare file.cppa newFolderè quella di rinominare il file (click destro -> Rinomina) pernewFolder\file.cpp .

Qt Creator lo sposterà nella nuova cartella e aggiornerà automaticamente il .profile.


3
non dimenticare che la cartella dovrebbe già esistere prima della sostituzione
Anton

2
Se il file spostato è sotto il controllo GIT, Qt Creator si occupa anche delle modifiche necessarie in GIT?
Silicomancer

@Silicomancer Git gestisce i file spostati per te, non Qt Creator. Non devi fare altro che spostare il file tramite questa soluzione descritta (usando "rinomina") in Qt Creator. Se stavi spostando il file solo nel file system Git lo riconoscerebbe ma il percorso del file non verrebbe modificato nel .PROfile di Qt Creator ...
R Yoda

@Silicomancer Sì. Se qtreacor riconosce che il progetto è dotato di git, duplicherà tutte le azioni. Ciò include, almeno, la creazione di file, l'eliminazione, la ridenominazione e lo spostamento.
Equilibrius

9

A partire dalla versione 1.2.90 Qt Creator mostra le sottocartelle che esistono nella cartella del progetto come rami nell'albero del progetto se solo l' opzione Filtra albero non è impostata su Semplifica albero .


7

Sembra solo essere impossibile creare sottodirectory in QT-CREATOR.

Prova quanto segue:

  1. Crea un numero di sottodirectory, con un file explorer o dalla riga di comando all'interno della cartella del progetto (ad esempio net / , gui / , test / , data / ...)!
  2. Sposta i file esistenti in queste nuove cartelle. E cambia i loro percorsi all'interno del file * .proj !
  3. Crea nuovi anche file dall'inizio all'interno delle nuove cartelle (Da AddNew ... )!

... QT-CREATOR visualizza solo le cartelle che contengono file scritti con i loro nomi nel file * .pro o * .pri. A livello di root QT-CREATOR distingue tra HEADERS, SOURCES, FORMS e OTHER FILES. All'interno di queste cartelle principali è possibile trovare ripetutamente le sottocartelle del progetto. (Non trattato in questo testo si divide in sottoprogetti.)


Vero. Se un progetto Qt viene visualizzato all'interno di Qt Creator ei priprogetti vengono utilizzati correttamente, l'IDE mostra le cose in un bel modo annidato. Tuttavia a livello di filesystem tutti i file (eccetto quando si usano subdire si creano sottoprogetti) si trovano nello stesso livello di gerarchia di directory. Questo rende le cose piuttosto complicate quando qualcuno guarda il progetto in un file explorer (Windows Explorer, Thunar, Nautilus ecc.). Se è necessaria una struttura di file corretta, fare le cose manualmente (come suggerisce @CWIMMER qui) è l'unico modo per andare.
rbaleksandar

3

Puoi creare una sottodirectory fintanto che hai un file che desideri creare al suo interno. Vai alla directory principale e "Aggiungi" un file ad essa. "Sfoglia" per la posizione e crea una nuova cartella all'interno della finestra di navigazione. D'accordo, non è abbastanza intuitivo.


3

Quando crei una nuova classe nel tuo progetto Qt, puoi scegliere il percorso in questa procedura guidata e qui specificare nuove cartelle come DAL, BO, UI, ...


0

Quando la mia directory 'data' aveva solo una sottodirectory 'model' appariva semplicemente come "data / model". Dopo aver aggiunto "dao" come un'altra sottodirectory, mostrava i dati con il tradizionale modo +/- per rivelare il modello e il dao.


0

Ecco cosa ho fatto:

  1. Nella cartella del progetto (fuori dall'IDE), crea le directory in cui desideri inserire il tuo codice e sposta i tuoi file sorgente in quelle directory.

    • Supponiamo di aver messo "foo.cpp" e "foo.h" nella directory "foo".
  2. Nel tuo file "* .pro", vai a ciascuna riga che fa riferimento ai file di origine spostati e aggiungi il nome della directory, seguito da "/" davanti al nome del file di origine.

.pro prima del passaggio 2:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro dopo il passaggio 2:

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

HEADERS += \
foo/foo.h
  1. Ricostruisci il tuo progetto per testarlo.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.