QtCreator projesi için bir alt dizin nasıl oluşturulur?


102

Qt projemi birkaç dizine bölmek istiyorum çünkü oldukça büyüyor. Ancak, QtCreator'da gözat'a tıkladığımda, 'Dizin ekle' yok ve 'Yeni ekle'de böyle bir şey yok. Bu bir şekilde yapılabilir mi?


Dosya yöneticinizle bir alt dizin oluşturmanın nesi yanlış?
Ariya Hidayet

2
El ile dizin oluşturabilirim, ancak onları proje tarayıcısında göremiyorum.
gruszczy

5
@Ariya Bu, çoğu IDE'de bulunan bir özellik olduğundan ve insanlar bunu soracağından, en azından buna oy vermiş olmalısınız .
Piotr Dobrogost

50
Kusura bakmayın ama Qt-Creator kullanılabilirliği berbat ediyor (kullanıcı arayüzüyle ilgili olarak) Bir geliştirici olarak, bir kamu forumunda bir projeye bir projeye nasıl alt dizin ekleneceğini sorması gerektiğini görürseniz, bununla ilgili ciddi bir sorun olduğunu anlarsınız. IDE.
Edenshaw

4
@GabrielF oldukça kolay ...? düzeltildi ...? Neden çoğu IDE'de olduğu gibi "dizin oluştur" (veya "Oluşturucu'nun ruhuna uygun" dizin ekle "yi seçemiyoruz)? Bu, çoğu berbat editörün bile sahip olduğu temel işlevdir - not defterinde dizin oluşturabilirsiniz! Bu kadar basit, temel bir görevi yerine getirmek için bir "yöntem" olmamalı - açık olmalı.
doc

Yanıtlar:


40

Kullanabileceğiniz yöntemlerden biri, her alt dizin için bir proje içerme dosyası eklemektir.

Qt Creator bunları GUI'de iç içe geçmiş bir şekilde görüntüler ve bunlara dosya eklemenize izin verir.

Örneğin

project.pro içinde

include(folder1/include.pri)

folder1 / include.pri içinde

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

vb


Bu iç içe yerleştirmeyi IDE'den yapabilir miyim yoksa bu dosyaları ve dizinleri manuel olarak ayarlamam gerekir mi?
gruszczy

1
Hızlıca bir göz attım ve içerme dosyalarını manuel olarak eklemeniz gerektiğini düşünüyorum, ancak bir projeye yeni dosyalar eklerken, Qt Creator bunları ana proje dosyası yerine bir içerme dosyasına eklemenize izin verecektir.
Nick

3
Tamam, umarım bu özelliği yeni sürüme eklerler.
gruszczy

2
Lütfen cevabımı düşünün: stackoverflow.com/questions/24959959/…
Erowlin

24

Cevap: QtCreator'da bir proje için bir klasör veya alt dizin nasıl oluşturulur?

QT Creator 3.1.x'ten önce , projenize sağ tıklayıp -> " yeni ekle ... " ve istediğiniz klasörün yolunu değiştirebilirsiniz.

Qt yeni ekle ...

Klasör mevcut olmalıdır , Qt onu sizin için oluşturmayacaktır.

Yeni bir sınıf ekleyin ve varsayılan Qt klasörünü değiştirin

Qt, .pro dosyanızdaki yolla ilgilenir.

Qt, .pro dosyanızdaki yolla ilgilenir

Qt, .pro dosyanızdaki yolla ilgilenir

Bu kadar !


1
QtCreator'da CMake projelerini kullanırken bunun işe yaramayacağına dikkat edilmelidir.
Étienne

@ Étienne, haklısın. Çalışmıyor. Bu durumda ne yapmalıyız?
pushandpop

20

Sadece aynı sorunu yaşadım ve nispeten basit bir cevap buldum.

Taşımak yapmanız gereken file.cppetmek newFolderiçin - dosya (> Yeniden Adlandır sağ tıkla) adlandırmak etmektir newFolder\file.cpp.

Qt Creator, .prodosyayı yeni klasöre taşıyacak ve dosyayı otomatik olarak güncelleyecektir .


3
klasörün değiştirilmeden önce zaten mevcut olması gerektiğini unutmayın
Anton

2
Taşınan dosya GIT kontrolü altındaysa, Qt oluşturucu GIT'deki gerekli değişiklikleri de halleder mi?
Silicomancer

@Silicomancer Git, Qt Creator değil, taşınan dosyaları sizin için işliyor. Dosyayı Qt Creator'da açıklanan bu geçici çözüm yoluyla ("yeniden adlandır" kullanarak) taşımaktan başka yapmanız gereken bir şey yoktur. Dosyayı sadece dosya sisteminde taşıyor olsaydınız, Git bunu tanırdı, ancak dosyanın yolu Qt Creator'ın .PROdosyasında ayarlanmayacaktır ...
R Yoda

@Silicomancer Evet. Eğer qtreacor, projenin git ile versiyonlandığını anlarsa, tüm eylemleri kopyalar. Bu, en azından dosya oluşturma, silme, yeniden adlandırma ve taşımayı içerir.
Equilibrius

9

1.2.90 sürümünden başlayarak Qt Creator, yalnızca Filtre ağacı seçeneği Ağaç Basitleştir olarak ayarlanmadıysa , projenin klasöründe bulunan alt klasörleri proje ağacında dallar olarak gösterir .


7

QT-CREATOR'da yalnızca alt dizinler oluşturmak imkansız gibi görünüyor.

Takip etmeyi dene:

  1. Bir dosya gezgini ile veya proje klasörü içinde komut satırı ile bir dizi alt dizin oluşturun (örneğin net / , gui / , test / , data / ...)!
  2. Mevcut dosyaları bu yeni klasörlere taşıyın. Ve yollarını * .proj dosyası içinde değiştirin !
  3. Yeni klasörler içinde en başından yeni dosyalar da oluşturun (Yeni Ekle ... ile )!

... QT-CREATOR, yalnızca adlarıyla * .pro veya * .pri dosyasına yazılan dosyaları içeren klasörleri görüntüler. Kök seviyesinde QT-CREATOR, BAŞLIKLAR, KAYNAKLAR, FORMLAR ve DİĞER DOSYALAR arasında ayrım yapar. Bu kök klasörler içinde, projeye ait alt klasörleri tekrar tekrar bulabilirsiniz. (Bu metinde ele alınmayanlar alt projelere ayrılmaktadır.)


Doğru. Bir Qt projesi Qt Creator içinde görüntülenirse ve priprojeleri düzgün kullanılırsa, IDE her şeyi iç içe güzel bir şekilde görüntüler. Ancak dosya sistemi düzeyinde tüm dosyalar ( subdiralt projeleri kullanma ve oluşturma dışında ) aynı dizin hiyerarşisi düzeyindedir. Bu, birisi projeye bir dosya gezgininde (Windows Gezgini, Thunar, Nautilus vb.) Baktığında işleri oldukça hantal hale getirir. Uygun dosya yapısı gerekiyorsa, işleri manuel olarak yapmak (@CWIMMER'in burada önerdiği gibi) gitmenin tek yoludur.
rbaleksandar

3

İçinde oluşturmak istediğiniz bir dosyanız olduğu sürece bir alt dizin oluşturabilirsiniz. Ana dizine gidin ve ona bir dosya "Ekle". Konum için "göz atın" ve göz atma penceresi içinde yeni bir klasör oluşturun. Kabul edildi, bu pek sezgisel değil.


3

Qt-Projenizde yeni bir Sınıf oluşturduğunuzda, bu sihirbazdaki yolu seçebilir ve böylece DAL, BO, UI, ... gibi yeni klasörler belirleyebilirsiniz.


0

"Veri" dizinimde yalnızca bir alt dizin "modeli" olduğunda, "veri / model" olarak göründü. 'Dao'yu başka bir alt dizin olarak ekledikten sonra, modeli ve daoyu ortaya çıkarmak için geleneksel +/- yöntemiyle verileri görüntüledi.


0

İşte yaptığım şey:

  1. Proje Klasöründe (IDE'nin dışında), kodunuzu yerleştirmek istediğiniz Dizinler oluşturun ve kaynak dosyalarınızı bu dizinlere taşıyın.

    • "Foo" dizinine "foo.cpp" ve "foo.h" koyduğunuzu varsayalım.
  2. "* .Pro" dosyanızda, taşıdığınız kaynak dosyalara referans veren her satıra gidin ve dizin adını ekleyin, ardından kaynak dosya adının önüne '/' ekleyin.

.pro 2. Adımdan önce:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

2. Adımdan sonra .pro:

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

HEADERS += \
foo/foo.h
  1. Test etmek için projenizi yeniden oluşturun.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.