我即将开始一个大型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创建项目符号或编号列表?
- 2. 如何使用Bitnami DjangoStack创建项目?
- 3. 如何使用DTE创建WebApi项目?
- 4. 如何使用EGit创建Eclipse项目
- 5. 在qt项目中创建多个dll
- 6. 为Qt项目创建.deb包
- 7. grails 3创建子项目
- 8. 在使用VS-add创建项目时不能包含Qt类
- 9. 如何在perl中使用Qt GUI(使用Qt Designer创建)?
- 10. 使用Visual Studio 2008创建MSI - 如何创建子目录?
- 11. 如何在Visual Studio 2010中创建空的Qt项目
- 12. 如何在Linux中使用QT(QDir)创建目录?
- 13. 如何创建库项目
- 14. Qt子项目和TDD
- 15. 使用离子3创建离子2项目cli
- 16. 使用EntityFramework Core创建没有父项目的子项核心
- 17. 的Qt - 建设项目
- 18. 从AppVeyor构建Qt项目
- 19. 如何触发项目渲染器创建子项
- 20. 如何为gradle子项目创建目录结构?
- 21. 如何使用构建路径使用的依赖项创建Maven项目jar?
- 22. 声纳 - 如何用sonnar-runner创建子项目
- 23. Qt无法创建目录
- 24. 如何使用Rake for Rails项目创建目录结构
- 25. 如何使用标准目录布局创建Maven项目?
- 26. 无法编译QT创建快速应用程序项目
- 27. 由QT Creator + cmake创建的空项目不起作用
- 28. 如何用Eclipse CDT开发QT项目?
- 29. 创建项目
- 30. 如何使用多个子模块从maven项目创建单个库jar?