Qt를 사용하여 하위 프로젝트를 어떻게 만들 수 있나요?

StackOverflow https://stackoverflow.com/questions/61405

  •  09-06-2019
  •  | 
  •  

문제

나는 더 작은 구성요소(함께 작동하는 클래스 그룹)로 구성된 대규모 Qt 애플리케이션을 시작하려고 합니다.예를 들어 프로젝트에 사용되는 대화 상자가 있을 수 있지만 프로젝트에 통합되기 전에 자체적으로 개발해야 합니다.다른 폴더에서 작업한 다음 기본 프로젝트 폴더에 복사하는 대신 해당 대화 상자 전용 하위 폴더를 만든 다음 어떻게든 기본 프로젝트에 통합할 수 있습니까?

도움이 되었습니까?

해결책

내가 할 일은 다음과 같습니다.다음 폴더 계층 구조를 원한다고 가정해 보겠습니다.

/MyWholeApp

전체 애플리케이션에 대한 파일이 포함됩니다.

/MyWholeApp/DummyDlg/

이 파일에는 결국 전체 애플리케이션의 일부가 될 독립 실행형 대화 상자용 파일이 포함됩니다.

독립형 대화 상자와 관련 클래스를 개발하겠습니다.포함될 Qt 프로젝트 파일을 생성하겠습니다.여기에는 결국 전체 애플리케이션의 일부가 될 양식과 파일만 포함됩니다.

/MyWholeApp/DummyDlg/에 있는 DummyDlg.pri 파일:

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

위의 예는 매우 간단합니다.필요한 경우 다른 클래스를 추가할 수 있습니다.

독립형 대화 상자를 개발하려면 이 대화 상자 전용 Qt 프로젝트 파일을 만듭니다.

/MyWholeApp/DummyDlg/에 있는 DummyDlg.pro 파일:

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-Project 파일을 만들어야 합니다.

/MyWholeApp/에 있는 WholeApp.pro 파일:

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

include(DummyDlg/DummyDlg.pri)

# Input
FORMS += OtherDlg.ui
HEADERS += OtherDlg.h
SOURCES += OtherDlg.cpp WholeApp.cpp

물론 위의 Qt-Project 파일은 매우 단순하지만 독립형 대화 상자를 어떻게 포함했는지 보여줍니다.

다른 팁

예, 메인 프로젝트(.pro) 파일을 편집하여 하위 프로젝트의 프로젝트 파일을 포함할 수 있습니다.

여기를 보아라

Windows용 Qt의 경우 원하는 모든 하위 프로젝트에 대해 DLL을 생성할 수 있습니다.이후에는 메인 프로젝트(exe)에서 사용하는데 문제가 없습니다.종속성을 처리해야 하지만 그리 어렵지는 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top