我即將開始一個大型Qt應用程序,它由較小的組件(一起工作的類組)組成。例如,可能有一個在項目中使用的對話框,但應在集成到項目中之前自行開發。我可以創建一個專用於該對話框的子文件夾,然後以某種方式將它合併到主項目中,而不是在另一個文件夾中的某個位置進行處理,然後將其複製到主項目文件夾中。如何使用Qt創建子項目?
13
A
回答
18
這裏是我會做什麼。假設我想要以下文件夾層次結構:
/MyWholeApp
將包含整個應用程序的文件。
/MyWholeApp/DummyDlg/
將包含獨立對話框的文件,它將最終成爲整個應用程序的一部分。
我會開發獨立的對話框和相關的類。我會創建一個將包含在內的Qt-project文件。它將只包含最終成爲整個應用程序一部分的表單和文件。
文件DummyDlg.pri,在/ MyWholeApp/DummyDlg /:
# Input
FORMS += dummydlg.ui
HEADERS += dummydlg.h
SOURCES += dummydlg.cpp
上面的例子是非常簡單的。如果需要,您可以添加其他類。
要開發獨立的對話框,然後,我會創建專用於該對話框中的Qt項目文件:
文件DummyDlg.pro,在/ MyWholeApp/DummyDlg /:
TEMPLATE = app
DEPENDPATH += .
INCLUDEPATH += .
include(DummyDlg.pri)
# Input
SOURCES += main.cpp
,你可以看,這PRO文件包括上面創建的PRI文件,並增加一個額外的文件(main.cpp中),其將包含基本代碼用於運行對話框作爲一個獨立的:
#include <QApplication>
#include "dummydlg.h"
int main(int argc, char* argv[])
{
QApplication MyApp(argc, argv);
DummyDlg MyDlg;
MyDlg.show();
return MyApp.exec();
}
於是,包括此對話框,你需要創建一個Qt的項目文件中的整個應用程序:
文件WholeApp.pro,在/ MyWholeApp /:
TEMPLATE = app
DEPENDPATH += . DummyDlg
INCLUDEPATH += . DummyDlg
include(DummyDlg/DummyDlg.pri)
# Input
FORMS += OtherDlg.ui
HEADERS += OtherDlg.h
SOURCES += OtherDlg.cpp WholeApp.cpp
當然,Qt的項目上面的文件非常簡單,但是顯示了我如何包含獨立對話框。
0
對於Windows上的Qt,您可以爲每個想要的子項目創建DLL。之後在主項目(exe)中使用它們沒有問題。你必須照顧依賴關係,但這不是很困難。
1
是的,您可以編輯您的主項目(.pro)文件以包含您的子項目的項目文件。
相關問題
- 1. Qt Creator項目嚮導不顯示用於創建Qt項目的選項
- 2. Qt C++如何在QTreeWidget中爲子項創建子查詢
- 3. 如何將整個目錄添加到QT創建者項目
- 4. 如何用Qt創建項目符號或編號列表?
- 5. 如何使用Bitnami DjangoStack創建項目?
- 6. 如何使用DTE創建WebApi項目?
- 7. 如何使用EGit創建Eclipse項目
- 8. 如何僅在Qt創建器中構建Qt設計器項目?
- 9. 如何使用winapi在listview子項目中創建超鏈接
- 10. 在qt項目中創建多個dll
- 11. 從qt創建者中刪除項目
- 12. 爲Qt項目創建.deb包
- 13. Qt創建器單元測試項目
- 14. 使用visual studio構建qt項目
- 15. grails 3創建子項目
- 16. 在使用VS-add創建項目時不能包含Qt類
- 17. 爲Qt項目創建一個標誌或使用QLoggingCategory
- 18. 如何在perl中使用Qt GUI(使用Qt Designer創建)?
- 19. 使用Visual Studio 2008創建MSI - 如何創建子目錄?
- 20. 使用NetBeans創建項目
- 21. 如何在Visual Studio 2010中創建空的Qt項目
- 22. 如何從QT UWP項目創建Appx包
- 23. Qt:如何在QGraphicsscene上創建/渲染箭頭圖形項目
- 24. 如何在Qt中使用QTabWidget創建多行選項卡?
- 25. 如何在Linux中使用QT(QDir)創建目錄?
- 26. QT Creator無法創建純C++項目或HTML5項目(QT Creator直接關閉)
- 27. 如何創建spring項目?
- 28. 如何創建庫項目
- 29. 如何在Visual Studio中爲Qt 5創建一個DLL項目Qt在
- 30. Qt子項目和TDD