प्रोजेक्ट QtCreator के लिए एक उपनिर्देशिका कैसे बनाएं?


102

मैं अपनी क्यूटी परियोजना को कई निर्देशिकाओं में विभाजित करना चाहूंगा क्योंकि यह बहुत बड़ी हो रही है। हालाँकि, जब मैं QtCreator में ब्राउज़ पर क्लिक करता हूं, तो कोई 'Add Directory' नहीं होती है और 'Add new' में ऐसी कोई बात नहीं होती है। क्या यह किसी तरह किया जा सकता है?


आपके फ़ाइल प्रबंधक के साथ उप-निर्देशिका बनाने में क्या गलत है?
अरिया हिदायत

2
मैं मैन्युअल रूप से डायर बना सकता हूं, लेकिन मैं उन्हें प्रोजेक्ट ब्राउज़र में नहीं देखता।
gruszczy

5
@ Ariya आपको कम से कम मतदान करना चाहिए क्योंकि यह अधिकांश IDE में उपलब्ध एक सुविधा है और लोग इसके बारे में पूछ रहे होंगे
पियोट्र डोब्रोगोस्ट

49
सभी उचित सम्मान के साथ, लेकिन Qt-Creator प्रयोज्यता में बेकार है (यूजर इंटरफेस के बारे में) एक डेवलपर के रूप में यदि आप देखते हैं कि किसी को सार्वजनिक मंच में किसी परियोजना के लिए एक उपनिर्देशिका को कैसे जोड़ना है, तो आप जानते हैं कि इसके साथ एक गंभीर समस्या है आईडीई।
एडेनशॉ

4
@GabrielF काफी आसान ...? यह तय हो चुका है...? हम अधिकांश IDE की तरह "क्रिएट डायरेक्टरी" (या "डायरेक्टर को जोड़ने के लिए डायरेक्टरी") का चयन क्यों नहीं कर सकते। यह बुनियादी कार्यक्षमता है, जो सबसे भद्दे संपादकों के पास है - आप नोटपैड में निर्देशिका बना सकते हैं! इस तरह के सरल, बुनियादी कार्य करने के लिए एक "तरीका" नहीं होना चाहिए - यह स्पष्ट होना चाहिए।
डॉक्टर

जवाबों:


40

एक विधि जिसका आप उपयोग कर सकते हैं वह है प्रोजेक्ट को जोड़ने के लिए प्रत्येक उप निर्देशिका के लिए फ़ाइल शामिल करना।

Qt Creator इन्हें GUI में नेस्टेड अंदाज़ में प्रदर्शित करता है, और आपको इनके साथ फाइल जोड़ने की अनुमति देता है।

जैसे

परियोजना में

include(folder1/include.pri)

फ़ोल्डर 1 में शामिल हैं

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

आदि


क्या मैं आईडीई से यह नेस्टिंग कर सकता हूं या क्या मुझे उन फाइलों और डायरियों को मैन्युअल रूप से सेट करना होगा?
gruszczy

1
मेरे पास एक त्वरित नज़र थी, और मुझे लगता है कि आपको मैन्युअल रूप से शामिल फ़ाइलों को जोड़ना होगा, लेकिन एक परियोजना के लिए नई फ़ाइलों को जोड़ने पर क्यूटी निर्माता आपको मुख्य परियोजना फ़ाइल के बजाय उन्हें शामिल फ़ाइल में जोड़ने की अनुमति देगा।
निक

3
ठीक है, उम्मीद है कि वे इस सुविधा को नए संस्करण में जोड़ देंगे।
ग्रूसज़ी

2
कृपया मेरे जवाब पर विचार करें: stackoverflow.com/questions/24959959/…
Erowlin

24

उत्तर: QtCreator में एक परियोजना के लिए एक फ़ोल्डर या एक उपनिर्देशिका कैसे बनाएं?

क्यूटी क्रिएटर 3.1.x से पहले, आप अपने प्रोजेक्ट पर राइट क्लिक कर सकते हैं -> " नया जोड़ें ... " और अपने इच्छित फ़ोल्डर में पथ बदलें।

Qt नया जोड़ें ...

फ़ोल्डर मौजूद होना चाहिए , Qt इसे आपके लिए नहीं बनाएगा।

एक नया वर्ग जोड़ें और डिफ़ॉल्ट फ़ोल्डर Qt बदलें

Qt आपकी .pro फ़ाइल में पथ का ध्यान रखता है।

Qt आपकी .pro फ़ाइल में पथ का ध्यान रखता है

Qt आपकी .pro फ़ाइल में पथ का ध्यान रखता है

बस !


1
यह ध्यान दिया जाना चाहिए कि QtCreator में CMake परियोजनाओं का उपयोग करते समय यह काम नहीं करेगा।
.tienne

@ @Tienne, आप सही कह रहे हैं। यह काम नहीं कर रहा है। इस मामले में हमें क्या करना चाहिए?
पुषंडपप

20

बस एक ही मुद्दा था, और एक अपेक्षाकृत सरल जवाब मिला।

आपको इसे स्थानांतरित file.cppकरने newFolderके लिए फ़ाइल (राइट क्लिक -> नाम बदलें) का नाम बदलना होगा newFolder\file.cpp

Qt Creator इसे नए फ़ोल्डर में ले जाएगा और स्वचालित रूप से .proफ़ाइल को अपडेट करेगा ।


3
यह मत भूलो कि फ़ोल्डर को प्रतिस्थापन से पहले ही मौजूद होना चाहिए
एंटोन

2
यदि स्थानांतरित फ़ाइल GIT नियंत्रण में है, तो क्या Qt निर्माता GIT में आवश्यक परिवर्तनों का भी ध्यान रखता है?
सिलीकोमैंसर

@Silicomancer Git आपके लिए स्थानांतरित फ़ाइलों को संभाल रही है, न कि Qt Creator को। कुछ भी नहीं करना है, लेकिन क्यूटी क्रिएटर में इस वर्णित कार्य के चारों ओर ("नाम" का उपयोग करके) फ़ाइल को स्थानांतरित करना है। यदि आप फ़ाइल को केवल फ़ाइल सिस्टम में ले जा रहे हैं तो Git इसे पहचान लेगा लेकिन फ़ाइल का पथ Qt निर्माता की .PROफ़ाइल में समायोजित नहीं किया जाएगा ...
R Yoda

@Silicomancer हाँ। यदि qtreacor ने मान्यता दी कि परियोजना को गिट के साथ संस्करणित किया गया है तो यह सभी क्रियाओं की नकल करेगा। इसमें कम से कम, फ़ाइल निर्माण, विलोपन, नाम बदलना और स्थानांतरित करना शामिल है।
इक्विलिब्रियस

9

संस्करण 1.2.90 से शुरू करके Qt क्रिएटर सबफ़ोल्डर्स को दिखाता है जो प्रोजेक्ट के पेड़ में शाखाओं के रूप में मौजूद होता है यदि केवल ट्री ट्री को सरलीकृत करने के लिए फ़िल्टर ट्री विकल्प सेट नहीं है ।


7

यह केवल क्यूटी-निर्माता में उप-निर्देशिका बनाने के लिए असंभव प्रतीत होता है।

निम्नलिखित प्रयास करें:

  1. फ़ाइल-एक्सप्लोरर के साथ या प्रोजेक्ट-फ़ोल्डर के भीतर कमांड लाइन द्वारा (उदाहरण के लिए नेट / , गुई / , परीक्षण / , डेटा / ...) कई उप-निर्देशिका बनाएं !
  2. इन नए फ़ोल्डरों में फ़ाइलों को हटा दें। और * .proj फ़ाइल के भीतर अपने रास्ते बदलें !
  3. नए फ़ोल्डरों के भीतर से नई फ़ाइलें बनाएँ ( AddNew द्वारा ... )!

... क्यूटी-क्रिएटर केवल ऐसे फ़ोल्डर प्रदर्शित करता है, जिनमें ऐसी फाइलें होती हैं जो उनके नाम के साथ * .pro या * .pri फाइल में लिखी जाती हैं। मूल स्तर पर क्यूटी-क्रिएटर हेडर्स, सोर्स, फॉर्म्स और अन्य फिल्मों के बीच अंतर करता है। इन रूट फ़ोल्डरों के भीतर आप बार-बार प्रोजेक्ट-खुद सबफ़ोल्डर पा सकते हैं। (इस पाठ में शामिल नहीं है उप-परियोजनाओं में विभाजित है।)


सच। यदि Qt प्रोजेक्ट Qt क्रिएटर के अंदर देखा जाता है और priS प्रोजेक्ट का उपयोग ठीक से किया जाता है, तो IDE एक अच्छे नेस्टेड फैशन में चीजों को प्रदर्शित करता है। हालाँकि फाइलसिस्टम स्तर पर सभी फाइलें ( subdirउप-परियोजनाओं का उपयोग करते हुए और बनाते समय) निर्देशिका-पदानुक्रम के समान स्तर पर हैं। जब कोई फ़ाइल एक्सप्लोरर (विंडोज एक्सप्लोरर, थूनर, नौटिलाल आदि) में परियोजना को देखता है, तो यह बोझिल हो जाता है। यदि उचित फ़ाइल संरचना की आवश्यकता है, तो मैन्युअल रूप से चीजें करना (जैसा कि @CWIMMER यहां बताता है) जाने का एकमात्र तरीका है।
rbaleksandar

3

आप एक उप-निर्देशिका बना सकते हैं जब तक आपके पास एक फ़ाइल है जिसे आप उसमें बनाना चाहते हैं। मूल निर्देशिका पर जाएं, और "फ़ाइल" इसमें जोड़ें। स्थान के लिए "ब्राउज़ करें" और ब्राउज़ विंडो के अंदर एक नया फ़ोल्डर बनाएं। सहमत, यह काफी सहज नहीं है।


3

जब आप अपने Qt-Project में एक नई कक्षा बनाते हैं, तो आप इस विज़ार्ड में पथ चुन सकते हैं और इसके बाद DAL, BO, UI, ... जैसे नए फ़ोल्डर निर्दिष्ट कर सकते हैं।


0

जब मेरे 'डेटा' निर्देशिका में केवल एक उप-निर्देशिका 'मॉडल' था, तो यह केवल "डेटा / मॉडल" के रूप में दिखाई दिया। एक अन्य उप-निर्देशिका के रूप में 'डाओ' जोड़ने के बाद, यह मॉडल और डाओ प्रकट करने के लिए पारंपरिक +/- तरीके से डेटा प्रदर्शित करता है।


0

यहाँ मैंने क्या किया है:

  1. प्रोजेक्ट फ़ोल्डर (IDE के बाहर) में, वे निर्देशिकाएँ बनाएँ जिन्हें आप अपना कोड डालना चाहते हैं और अपनी स्रोत फ़ाइलों को उन निर्देशिकाओं में ले जाना चाहते हैं।

    • कहते हैं कि आप "foo.cpp" और "foo.h" को "फू" निर्देशिका में डालते हैं।
  2. आपकी "* .pro" फ़ाइल में, प्रत्येक पंक्ति पर जाएं जो आपके द्वारा स्थानांतरित की गई स्रोत फ़ाइलों को संदर्भित करती है और निर्देशिका नाम को जोड़ने के बाद स्रोत फ़ाइल नाम के सामने '/' जोड़ देती है।

। चरण 2 से पहले .pro:

SOURCES += main.cpp \
foo.cpp

HEADERS  += \
foo.h \

.pro चरण 2 के बाद:।

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

HEADERS += \
foo/foo.h
  1. परीक्षण के लिए अपनी परियोजना का पुनर्निर्माण करें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.