Jak stworzyć podkatalog dla projektu QtCreator?

102

Chciałbym podzielić mój projekt Qt na kilka katalogów, ponieważ jest on dość duży. Jednak po kliknięciu przycisku Przeglądaj w QtCreator nie ma opcji „Dodaj katalog” ani czegoś takiego w opcji „Dodaj nowy”. Czy można to jakoś zrobić?

gruszczy
źródło
Co jest złego w tworzeniu podkatalogu za pomocą menedżera plików?
Ariya Hidayat
2
Mogę tworzyć reżery ręcznie, ale nie widzę ich wtedy w przeglądarce projektów.
gruszczy
5
@Ariya Powinieneś był przynajmniej zagłosować na to, ponieważ jest to funkcja dostępna w większości IDE i ludzie będą o nią pytać.
Piotr Dobrogost
50
Z całym szacunkiem, ale Qt-Creator zasysa użyteczność (jeśli chodzi o interfejs użytkownika) Jako programista, jeśli widzisz, że ktoś musi zapytać, jak dodać podkatalog do projektu na forum publicznym, to wiesz, że jest z tym poważny problem IDE.
Edenshaw
4
@GabrielF całkiem proste ...? to jest naprawione...? Dlaczego nie możemy po prostu wybrać „utwórz katalog” (lub „dodaj katalog”, aby być w duchu twórcy), jak w większości IDE. To podstawowa funkcjonalność, którą ma nawet większość kiepskich edytorów - możesz stworzyć katalog w notatniku! Nie powinno być „metody” na wykonanie tak prostego, podstawowego zadania - to powinno być oczywiste.
doc

Odpowiedzi:

40

Jedną z metod, których możesz użyć, jest dodanie pliku dołączanego projektu dla każdego podkatalogu.

Qt Creator wyświetla je w GUI w sposób zagnieżdżony i umożliwia dodawanie do nich plików.

na przykład

w project.pro

include(folder1/include.pri)

w folderze 1 / include.pri

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

itp

Nacięcie
źródło
Czy mogę wykonać to zagnieżdżanie z IDE, czy też muszę ręcznie ustawić te pliki i katalogi?
gruszczy
1
Rzuciłem okiem i myślę, że musisz ręcznie dodać pliki dołączane, ale podczas dodawania nowych plików do projektu Qt Creator pozwoli ci dodać je do pliku dołączanego, a nie do głównego pliku projektu.
Nick
3
OK, mam nadzieję, że dodadzą tę funkcję w nowej wersji.
gruszczy
2
Proszę rozważyć moją odpowiedź: stackoverflow.com/questions/24959959/…
Erowlin
24

Odpowiedź: Jak utworzyć folder lub podkatalog dla projektu w QtCreator?

Przed QT Creator 3.1.x, możesz kliknąć prawym przyciskiem myszy swój projekt -> „ dodaj nowy ... ” i zmienić ścieżkę do żądanego folderu.

Qt dodaj nowe ...

Folder musi istnieć , Qt nie utworzy go za Ciebie.

Dodaj nową klasę i zmień domyślny folder Qt

Qt dba o ścieżkę w pliku .pro.

Qt dba o ścieżkę w pliku .pro

Qt dba o ścieżkę w pliku .pro

Otóż ​​to !

Erowlin
źródło
1
Należy zauważyć, że nie zadziała to podczas korzystania z projektów CMake w QtCreator.
Étienne
@ Étienne, masz rację. To nie działa. Co powinniśmy zrobić w takim przypadku?
pushandpop
20

Po prostu miałem ten sam problem i znalazłem stosunkowo prostą odpowiedź.

Wszystko, co musisz zrobić, aby przejść file.cppdo, newFolderto zmienić nazwę pliku (kliknij prawym przyciskiem myszy -> Zmień nazwę) na newFolder\file.cpp.

Qt Creator przeniesie go do nowego folderu i automatycznie zaktualizuje .proplik.

Avidan Borisov
źródło
3
nie zapominaj, że folder powinien już istnieć przed wymianą
Anton
2
Jeśli przenoszony plik jest pod kontrolą GIT, czy twórca Qt dba również o niezbędne zmiany w GIT?
Silicomancer
@Silicomancer Git obsługuje przeniesione pliki za Ciebie, a nie Qt Creator. Nie musisz nic robić poza przeniesieniem pliku za pomocą opisanego obejścia (za pomocą „zmiany nazwy”) w Kreatorze Qt. Jeśli przenosisz plik tylko w systemie plików, Git to rozpozna, ale ścieżka do pliku nie zostanie dostosowana w .PROpliku Qt Creator ...
R Yoda
@Silicomancer Yes. Jeśli qtreacor rozpozna, że ​​projekt jest wersjonowany za pomocą git, powieli wszystkie akcje. Obejmuje to przynajmniej tworzenie plików, usuwanie, zmianę nazwy i przenoszenie.
Equilibrius
9

Począwszy od wersji 1.2.90 Qt Creator pokazuje podfoldery istniejące w folderze projektu jako gałęzie w drzewie projektu, jeśli tylko opcja Filtruj drzewo nie jest ustawiona na Uprość drzewo .

Piotr Dobrogost
źródło
7

Wydaje się, że niemożliwe jest utworzenie podkatalogów w QT-CREATOR.

Spróbuj wykonać następujące czynności:

  1. Utwórz kilka podkatalogów za pomocą eksploratora plików lub wiersza poleceń w folderze projektu (na przykład net / , gui / , test / , data / ...)!
  2. Przenieś istniejące pliki do tych nowych folderów. I zmień ich ścieżki w pliku * .proj !
  3. Twórz nowe również pliki od początku w nowych folderach (przez AddNew ... )!

... QT-CREATOR wyświetla tylko takie foldery, które zawierają pliki zapisane pod ich nazwami w pliku * .pro lub * .pri. Na poziomie głównym QT-CREATOR rozróżnia NAGŁÓWKI, ŹRÓDŁA, FORMULARZE i INNE PLIKI. W tych folderach głównych można wielokrotnie znaleźć podfoldery własne projektu. (Nieujęte w tym tekście jest podzielone na podprojekty).

CWIMMER
źródło
Prawdziwe. Jeśli projekt Qt jest wyświetlany w programie Qt Creator, a priprojekty są używane prawidłowo, IDE wyświetla elementy w ładnie zagnieżdżony sposób. Jednak na poziomie systemu plików wszystkie pliki (z wyjątkiem używania subdiri tworzenia podprojektów) znajdują się na tym samym poziomie hierarchii katalogów. To sprawia, że ​​sytuacja jest dość kłopotliwa, gdy ktoś patrzy na projekt w eksploratorze plików (Eksplorator Windows, Thunar, Nautilus itp.). Jeśli wymagana jest odpowiednia struktura pliku, robienie rzeczy ręcznie (jak sugeruje @CWIMMER tutaj) jest jedynym sposobem.
rbaleksandar
3

Możesz utworzyć podkatalog, o ile masz plik, który chcesz w nim utworzyć. Przejdź do katalogu nadrzędnego i „Dodaj” do niego plik. „Przeglądaj” w poszukiwaniu lokalizacji i utwórz nowy folder w oknie przeglądania. Zgoda, to nie jest całkiem intuicyjne.

michaeljt
źródło
3

Kiedy tworzysz nową klasę w swoim Qt-Project, możesz wybrać ścieżkę w tym kreatorze i niniejszym określić nowe foldery, takie jak DAL, BO, UI, ...

Miguel Rodriguez
źródło
0

Kiedy mój katalog „data” miał tylko jeden podkatalog „model”, pojawił się po prostu jako „data / model”. Po dodaniu „dao” jako kolejnego podkatalogu wyświetlał dane w tradycyjny sposób +/-, aby pokazać model i dao.

James Wald
źródło
0

Oto, co zrobiłem:

  1. W folderze projektu (poza IDE) utwórz katalogi, w których chcesz umieścić kod, i przenieś pliki źródłowe do tych katalogów.

    • Powiedzmy, że umieściłeś „foo.cpp” i „foo.h” w katalogu „foo”.
  2. W pliku „* .pro” przejdź do każdej linii, która odwołuje się do przeniesionych plików źródłowych i dodaj nazwę katalogu, a po niej znak „/” przed nazwą pliku źródłowego.

.pro przed krokiem 2:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro po kroku 2:

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

HEADERS += \
foo/foo.h
  1. Przebuduj projekt, aby przetestować.
Nicholas Mathern
źródło