2008-09-14 20 views
13

मैं एक बड़े क्यूटी अनुप्रयोग पर शुरू करने वाला हूं, जो छोटे घटकों से बना है (कक्षाओं के समूह जो एक साथ काम करते हैं)। उदाहरण के लिए, परियोजना में एक संवाद हो सकता है, लेकिन परियोजना में एकीकृत होने से पहले इसे स्वयं विकसित किया जाना चाहिए। किसी अन्य फ़ोल्डर में कहीं और काम करने के बजाय इसे मुख्य प्रोजेक्ट फ़ोल्डर में कॉपी करने के बजाय, क्या मैं एक उप-फ़ोल्डर बना सकता हूं जो उस संवाद को समर्पित है, और फिर किसी भी तरह इसे मुख्य प्रोजेक्ट में शामिल करता है?मैं क्यूटी के साथ सबप्रोजेक्ट कैसे बना सकता हूं?

उत्तर

18

यहाँ मैं क्या कर सकता है। मान लें कि मैं निम्नलिखित फ़ोल्डर पदानुक्रम चाहता हूं:

/MyWholeApp 

पूरे एप्लिकेशन के लिए फ़ाइलों को दूषित करेगा।

/MyWholeApp/DummyDlg/ 

में स्टैंडअलोन डायलॉगबॉक्स के लिए फ़ाइलें शामिल होंगी जो अंततः पूरे एप्लिकेशन का हिस्सा होंगी।

मैं स्टैंडअलोन संवाद बॉक्स और संबंधित कक्षाओं का विकास करूंगा। मैं एक क्यूटी-प्रोजेक्ट फ़ाइल तैयार करूंगा जो शामिल किया जा रहा है। इसमें केवल फॉर्म और फाइलें होंगी जो अंततः पूरे एप्लिकेशन का हिस्सा होंगी।

फ़ाइल DummyDlg.pri, में/MyWholeApp/DummyDlg /:

# Input 
FORMS += dummydlg.ui 
HEADERS += dummydlg.h 
SOURCES += dummydlg.cpp 

ऊपर के उदाहरण बहुत सरल है। यदि आवश्यक हो तो आप अन्य कक्षाएं जोड़ सकते हैं।

स्टैंडअलोन संवाद बॉक्स को विकसित करने के लिए, मैं तो इस संवाद के लिए समर्पित एक क्यूटी परियोजना फ़ाइल बना सकेगी:

फ़ाइल DummyDlg.pro,/MyWholeApp/DummyDlg/में:

TEMPLATE = app 
DEPENDPATH += . 
INCLUDEPATH += . 

include(DummyDlg.pri) 

# Input 
SOURCES += main.cpp 

आप कर सकते हैं के रूप में देखो, यह प्रो फ़ाइल ऊपर बनाया पंचायती राज फ़ाइल शामिल है, और एक अतिरिक्त फ़ाइल (main.cpp) जो एक स्टैंडअलोन के रूप में संवाद बॉक्स चलाने के लिए बुनियादी कोड में शामिल होंगे जोड़ रहा है:

#include <QApplication> 
#include "dummydlg.h" 

int main(int argc, char* argv[]) 
{ 
    QApplication MyApp(argc, argv); 

    DummyDlg MyDlg; 
    MyDlg.show(); 
    return MyApp.exec(); 
} 

फिर, पूरे आवेदन आप एक क्यूटी-परियोजना फ़ाइल बनाने की आवश्यकता को यह संवाद बॉक्स शामिल करने के लिए:

TEMPLATE = app 
DEPENDPATH += . DummyDlg 
INCLUDEPATH += . DummyDlg 

include(DummyDlg/DummyDlg.pri) 

# Input 
FORMS += OtherDlg.ui 
HEADERS += OtherDlg.h 
SOURCES += OtherDlg.cpp WholeApp.cpp 
बेशक

, क्यूटी-परियोजना:,

फ़ाइल WholeApp.pro/MyWholeApp/में उपरोक्त फ़ाइल बहुत सरल है, लेकिन दिखाती है कि मैंने स्टैंड-अलोन डायलॉग बॉक्स कैसे शामिल किया।

0

विंडोज़ पर क्यूटी के लिए आप अपने इच्छित प्रत्येक सबप्रोजेक्ट के लिए डीएलएल बना सकते हैं। उसके बाद मुख्य परियोजना (exe) से उनका उपयोग करने में कोई समस्या नहीं है। आपको निर्भरताओं का ख्याल रखना होगा लेकिन यह बहुत मुश्किल नहीं है।

1

हां, आप अपनी उप परियोजना की परियोजना फ़ाइल को शामिल करने के लिए अपनी मुख्य परियोजना (.pro) फ़ाइल को संपादित कर सकते हैं।

See here

संबंधित मुद्दे