Bagaimana cara membuat subdirektori untuk proyek QtCreator?

102

Saya ingin membagi proyek Qt saya menjadi beberapa direktori karena ini berkembang cukup besar. Namun, ketika saya mengklik browse di QtCreator, tidak ada 'Add directory' dan tidak ada hal seperti itu di 'Add new'. Bisakah ini dilakukan?

gruszczy.dll
sumber
Apa yang salah dengan membuat sub-direktori dengan pengelola file Anda?
Ariya Hidayat
2
Saya dapat membuat dirs secara manual, tetapi saya tidak melihatnya di browser proyek.
gruszczy
5
@Ariya Anda setidaknya harus memilih ini karena ini adalah fitur yang tersedia di sebagian besar IDE dan orang akan menanyakannya.
Piotr Dobrogost
49
Dengan segala hormat tetapi Qt-Creator menyebalkan kegunaan (terkait antarmuka pengguna) Sebagai pengembang jika Anda melihat seseorang harus bertanya bagaimana menambahkan subdirektori ke proyek di forum publik, maka Anda tahu bahwa ada masalah serius dengan itu IDE.
Edenshaw
4
@GabrielF cukup mudah ...? sudah diperbaiki ...? Mengapa kita tidak bisa memilih "buat direktori" (atau "tambahkan direktori" untuk menjadi semangat Pencipta) seperti di kebanyakan IDE. Ini adalah fungsi dasar, yang bahkan dimiliki editor paling jelek - Anda dapat membuat direktori di notepad! Seharusnya tidak ada "metode" untuk melakukan tugas sederhana dan mendasar seperti itu - harus jelas.
dokumen

Jawaban:

40

Salah satu metode yang dapat Anda gunakan adalah menambahkan file penyertaan proyek untuk setiap sub direktori.

Qt Creator menampilkan ini di GUI secara bersarang, dan memungkinkan Anda untuk menambahkan file ke dalamnya.

misalnya

di project.pro

include(folder1/include.pri)

di folder1 / include.pri

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

dll

Nick
sumber
Dapatkah saya melakukan ini bersarang dari IDE atau apakah saya harus menyetel file dan direktori tersebut secara manual?
gruszczy
1
Saya melihat sekilas, dan saya pikir Anda harus menambahkan file include secara manual, tetapi ketika menambahkan file baru ke proyek, Qt Creator akan memungkinkan Anda untuk menambahkannya ke file include daripada file proyek utama.
Nick
3
Oke, semoga mereka menambahkan fitur ini di versi baru.
gruszczy
2
Harap pertimbangkan jawaban saya: stackoverflow.com/questions/24959959/…
Erowlin
24

Jawaban: Bagaimana cara membuat folder atau subdirektori untuk proyek di QtCreator?

Sebelum QT Creator 3.1.x, Anda dapat mengklik kanan pada proyek Anda -> " tambahkan baru ... " dan ubah jalur ke folder yang Anda inginkan.

Qt tambahkan baru ...

Folder harus ada , Qt tidak akan membuatnya untuk Anda.

Tambahkan kelas baru dan ubah folder default Qt

Qt menangani jalur di file .pro Anda.

Qt menangani jalur di file .pro Anda

Qt menangani jalur di file .pro Anda

Itu dia !

Erowlin
sumber
1
Perlu dicatat bahwa ini tidak akan berfungsi saat menggunakan proyek CMake di QtCreator.
Étienne
@ Étienne, Anda benar. Ini tidak bekerja. Apa yang harus kita lakukan dalam kasus ini?
pushandpop
20

Baru saja mengalami masalah yang sama, dan menemukan jawaban yang relatif sederhana.

Yang perlu Anda lakukan untuk pindah file.cppke newFolderadalah mengganti nama file (klik kanan -> Ganti nama) menjadi newFolder\file.cpp.

Qt Creator akan memindahkannya ke folder baru dan memperbarui .profile secara otomatis .

Avidan Borisov
sumber
3
jangan lupa bahwa folder tersebut seharusnya sudah ada sebelum penggantian
Anton
2
Jika file yang dipindahkan berada di bawah kendali GIT, apakah pembuat Qt juga menangani perubahan yang diperlukan di GIT?
Silicomancer
@Silicomancer Git menangani file yang dipindahkan untuk Anda, bukan Qt Creator. Tidak ada yang perlu Anda lakukan selain memindahkan file melalui solusi yang dijelaskan ini (menggunakan "rename") di Qt Creator. Jika Anda memindahkan file hanya di sistem file, Git akan mengenali ini tetapi jalur file tidak akan disesuaikan di file Qt Creator .PRO...
R Yoda
@Cantik_bugil Ya. Jika qtreacor mengenali bahwa proyek diversi dengan git itu akan menduplikasi semua tindakan. Ini termasuk, setidaknya, pembuatan, penghapusan, penggantian nama & pemindahan file.
Equilibrius
9

Mulai dari versi 1.2.90 Qt Creator menampilkan subfolder yang ada di folder proyek sebagai cabang di pohon proyek jika hanya opsi Filter tree tidak disetel ke Simplify tree .

Piotr Dobrogost
sumber
7

Sepertinya tidak mungkin untuk membuat sub-direktori di QT-CREATOR.

Coba yang berikut ini:

  1. Buat sejumlah sub-direktori, dengan file-explorer atau dengan baris perintah di dalam folder proyek (misalnya net / , gui / , test / , data / ...)!
  2. Pindahkan file yang ada ke folder baru ini. Dan ubah jalurnya dalam file * .proj !
  3. Buat juga file baru dari awal dalam folder baru (Dengan AddNew ... )!

... QT-CREATOR hanya menampilkan folder seperti itu yang berisi file yang ditulis dengan namanya ke dalam file * .pro atau * .pri. Pada tingkat root QT-CREATOR membedakan antara HEADERS, SOURCES, FORMS dan LAIN FILES. Di dalam folder root ini Anda dapat menemukan subfolder milik proyek, berulang kali. (Tidak tercakup dalam teks ini adalah membagi menjadi subproyek.)

CWIMMER
sumber
Benar. Jika proyek Qt dilihat di dalam Qt Creator dan priproyek digunakan dengan benar, IDE akan menampilkan berbagai hal dengan cara yang baik. Namun pada tingkat sistem file, semua file (kecuali saat menggunakan subdirdan membuat subproyek) berada di tingkat hierarki direktori yang sama. Ini membuat hal-hal agak rumit ketika seseorang melihat proyek di penjelajah file (Windows Explorer, Thunar, Nautilus dll.). Jika struktur file yang tepat diperlukan maka melakukan sesuatu secara manual (seperti yang disarankan @CWIMMER di sini) adalah satu-satunya cara untuk melakukannya.
rbaleksandar
3

Anda dapat membuat sub-direktori selama Anda memiliki file yang ingin Anda buat di dalamnya. Buka direktori induk, dan "Tambahkan" file ke dalamnya. "Jelajahi" lokasi dan buat folder baru di dalam jendela jelajah. Setuju, itu tidak terlalu intuitif.

michaeljt
sumber
3

Saat Anda membuat Kelas baru di Qt-Project, Anda dapat memilih jalur di wizard ini dan dengan ini menentukan folder baru seperti DAL, BO, UI, ...

Miguel Rodriguez
sumber
0

Ketika direktori 'data' saya hanya memiliki satu 'model' sub-direktori, itu hanya muncul sebagai "data / model". Setelah menambahkan 'dao' sebagai sub-direktori lain, ia menampilkan data dengan cara +/- tradisional untuk menampilkan model dan dao.

James Wald
sumber
0

Inilah yang telah saya lakukan:

  1. Di Folder Proyek (di luar IDE), buat Direktori tempat Anda ingin memasukkan kode dan pindahkan file sumber Anda ke direktori tersebut.

    • Misalkan Anda meletakkan "foo.cpp" dan "foo.h" di direktori "foo".
  2. Dalam file "* .pro" Anda, buka setiap baris yang mereferensikan file sumber yang Anda pindahkan dan tambahkan nama direktori, diikuti dengan '/' di depan nama file sumber.

.pro sebelum Langkah 2:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro setelah Langkah 2:

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

HEADERS += \
foo/foo.h
  1. Bangun kembali proyek Anda untuk diuji.
Nicholas Mathern
sumber