Wie erstelle ich ein Unterverzeichnis für ein Projekt QtCreator?

102

Ich möchte mein Qt-Projekt in mehrere Verzeichnisse aufteilen, da es ziemlich groß wird. Wenn ich jedoch in QtCreator auf Durchsuchen klicke, gibt es kein 'Verzeichnis hinzufügen' und kein solches in 'Neu hinzufügen'. Kann das irgendwie gemacht werden?

gruszczy
quelle
Was ist falsch daran, mit Ihrem Dateimanager ein Unterverzeichnis zu erstellen?
Ariya Hidayat
2
Ich kann Verzeichnisse manuell erstellen, sehe sie dann aber nicht im Projektbrowser.
gruszczy
5
@Ariya Sie sollten mindestens müssen diese gestimmt , da dies in den meisten IDEs ein Feature zur Verfügung steht und die Leute werden darüber zu fragen.
Piotr Dobrogost
49
Bei allem Respekt, aber Qt-Creator schadet der Benutzerfreundlichkeit (in Bezug auf die Benutzeroberfläche). Wenn Sie als Entwickler sehen, dass jemand in einem öffentlichen Forum fragen muss, wie ein Unterverzeichnis zu einem Projekt hinzugefügt werden soll, wissen Sie, dass dies ein ernstes Problem darstellt IDE.
Edenshaw
4
@ GabrielF ganz einfach ...? es ist repariert...? Warum können wir nicht einfach "Verzeichnis erstellen" (oder "Verzeichnis hinzufügen" auswählen, um im Geiste von Creator zu sein) wie in den meisten IDEs auswählen? Es ist die Grundfunktionalität, die selbst die meisten beschissenen Editoren haben - Sie können ein Verzeichnis im Editor erstellen! Es sollte keine "Methode" geben, um solch eine einfache, grundlegende Aufgabe zu erledigen - es sollte offensichtlich sein.
Doc

Antworten:

40

Eine Methode, die Sie verwenden können, besteht darin, für jedes Unterverzeichnis eine Projekt-Include-Datei hinzuzufügen.

Qt Creator zeigt diese in der GUI verschachtelt an und ermöglicht das Hinzufügen von Dateien.

z.B

in project.pro

include(folder1/include.pri)

in Ordner1 / include.pri

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

etc

Nick
quelle
Kann ich diese Verschachtelung über die IDE durchführen oder muss ich diese Dateien und Verzeichnisse manuell festlegen?
gruszczy
1
Ich habe einen kurzen Blick darauf geworfen, und ich denke, Sie müssen die Include-Dateien manuell hinzufügen, aber wenn Sie einem Projekt neue Dateien hinzufügen, können Sie sie mit Qt Creator eher zu einer Include-Datei als zur Hauptprojektdatei hinzufügen.
Nick
3
OK, hoffentlich werden sie diese Funktion in der neuen Version hinzufügen.
gruszczy
2
Bitte beachten Sie meine Antwort: stackoverflow.com/questions/24959959/…
Erowlin
24

Antwort: Wie erstelle ich einen Ordner oder ein Unterverzeichnis für ein Projekt in QtCreator?

Vor QT Creator 3.1.x können Sie mit der rechten Maustaste auf Ihr Projekt klicken -> " Neu hinzufügen ... " und den Pfad zum gewünschten Ordner ändern.

Qt neue hinzufügen ...

Der Ordner muss vorhanden sein , Qt erstellt ihn nicht für Sie.

Fügen Sie eine neue Klasse hinzu und ändern Sie den Standardordner Qt

Qt kümmert sich um den Pfad in Ihrer .pro-Datei.

Qt kümmert sich um den Pfad in Ihrer .pro-Datei

Qt kümmert sich um den Pfad in Ihrer .pro-Datei

Das ist es !

Erowlin
quelle
1
Es ist zu beachten, dass dies bei Verwendung von CMake-Projekten in QtCreator nicht funktioniert.
Étienne
@ Étienne, du hast recht. Es funktioniert nicht. Was sollen wir in diesem Fall tun?
Pushandpop
20

Hatte gerade das gleiche Problem und fand eine relativ einfache Antwort.

Alles, was Sie tun müssen, um zu wechseln file.cpp, newFolderist das Umbenennen der Datei (Rechtsklick -> Umbenennen) in newFolder\file.cpp.

Qt Creator verschiebt es in den neuen Ordner und aktualisiert die .proDatei automatisch .

Avidan Borisov
quelle
3
Vergessen Sie nicht, dass der Ordner bereits vor dem Austausch vorhanden sein sollte
Anton
2
Wenn die verschobene Datei unter der Kontrolle von GIT steht, kümmert sich Qt Creator auch um die notwendigen Änderungen in GIT?
Silicomancer
@Silicomancer Git verarbeitet verschobene Dateien für Sie, nicht für Qt Creator. Sie müssen nichts weiter tun, als die Datei über diese beschriebene Problemumgehung (unter Verwendung von "Umbenennen") in Qt Creator zu verschieben. Wenn Sie die Datei nur im Dateisystem verschieben würden, würde Git dies erkennen, aber der Pfad der Datei würde in der .PRODatei des Qt Creator nicht angepasst ...
R Yoda
@ Silicomancer Ja. Wenn qtreacor erkennt, dass das Projekt mit git versioniert ist, werden alle Aktionen dupliziert. Dies umfasst zumindest das Erstellen, Löschen, Umbenennen und Verschieben von Dateien.
Gleichgewicht
9

Ab Version 1.2.90 Qt Creator zeigt Unterordner , die im Baum des Projektes als Zweig in Projektordnern vorhanden , wenn nur Filter Baum Option nicht gesetzt ist Simplify Baum .

Piotr Dobrogost
quelle
7

Es scheint nur unmöglich zu sein, Unterverzeichnisse in QT-CREATOR zu erstellen.

Versuche Folgendes:

  1. Erstellen Sie eine Reihe von Unterverzeichnissen mit einem Datei-Explorer oder über die Befehlszeile im Projektordner (zum Beispiel net / , gui / , test / , data / ...)!
  2. Verschieben Sie vorhandene Dateien in diese neuen Ordner. Und ändern Sie ihre Pfade in der * .proj- Datei!
  3. Erstellen Sie neue Dateien von Anfang an in den neuen Ordnern (By AddNew ... )!

... QT-CREATOR zeigt nur solche Ordner an, die Dateien enthalten, die mit ihren Namen in die Datei * .pro oder * .pri geschrieben wurden. Auf der Wurzelebene unterscheidet QT-CREATOR zwischen HEADERS, SOURCES, FORMS und ANDEREN DATEIEN. In diesen Stammordnern finden Sie wiederholt projektspezifische Unterordner. (In diesem Text nicht behandelt, wird in Teilprojekte aufgeteilt.)

CWIMMER
quelle
Wahr. Wenn ein Qt-Projekt in Qt Creator angezeigt wird und pris Projekte ordnungsgemäß verwendet werden, zeigt die IDE die Dinge auf eine schöne verschachtelte Weise an. Auf Dateisystemebene befinden sich jedoch alle Dateien (außer beim Verwenden subdirund Erstellen von Unterprojekten) auf derselben Ebene der Verzeichnishierarchie. Dies macht die Dinge ziemlich umständlich, wenn jemand das Projekt in einem Datei-Explorer (Windows Explorer, Thunar, Nautilus usw.) betrachtet. Wenn eine ordnungsgemäße Dateistruktur erforderlich ist, ist es der einzige Weg, die Dinge manuell auszuführen (wie @CWIMMER hier vorschlägt).
Rbaleksandar
3

Sie können ein Unterverzeichnis erstellen, solange Sie eine Datei haben, die Sie erstellen möchten. Gehen Sie zum übergeordneten Verzeichnis und "fügen" Sie eine Datei hinzu. "Durchsuchen" Sie den Speicherort und erstellen Sie einen neuen Ordner im Suchfenster. Einverstanden, das ist nicht ganz intuitiv.

michaeljt
quelle
3

Wenn Sie in Ihrem Qt-Projekt eine neue Klasse erstellen, können Sie den Pfad in diesem Assistenten auswählen und hiermit neue Ordner wie DAL, BO, UI, ... angeben.

Miguel Rodriguez
quelle
0

Wenn mein 'Daten'-Verzeichnis nur ein Unterverzeichnis' Modell 'hatte, erschien es nur als "Daten / Modell". Nach dem Hinzufügen von 'dao' als weiteres Unterverzeichnis wurden Daten mit der herkömmlichen +/- Methode angezeigt, um Modell und Dao anzuzeigen.

James Wald
quelle
0

Folgendes habe ich getan:

  1. Erstellen Sie im Projektordner (außerhalb der IDE) Verzeichnisse, in die Sie Ihren Code einfügen möchten, und verschieben Sie Ihre Quelldateien in diese Verzeichnisse.

    • Angenommen, Sie legen "foo.cpp" und "foo.h" in das Verzeichnis "foo".
  2. Gehen Sie in Ihrer "* .pro" -Datei zu jeder Zeile, die auf die von Ihnen verschobenen Quelldateien verweist, und fügen Sie den Verzeichnisnamen hinzu, gefolgt von '/' vor dem Namen der Quelldatei.

.pro vor Schritt 2:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro nach Schritt 2:

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

HEADERS += \
foo/foo.h
  1. Erstellen Sie Ihr Projekt zum Testen neu.
Nicholas Mathern
quelle