Pregunta

Estoy a punto de comenzar una gran aplicación Qt, que se compone de los componentes más pequeños (grupos de clases que trabajan juntos).Por ejemplo, podría ser un cuadro de diálogo que se utiliza en el proyecto, sino que debe ser desarrollado en su propia antes de ser integrado en el proyecto.En lugar de trabajar en ello en otra carpeta en algún lugar y luego copiar en la carpeta de proyecto principal, se puede crear una sub-carpeta que se dedica a ese cuadro de diálogo, y luego de alguna manera incorporar en el proyecto principal?

¿Fue útil?

Solución

Aquí es lo que yo haría.Digamos que yo quiero la carpeta siguiente jerarquía :

/MyWholeApp

contendrá los ficheros de la aplicación.

/MyWholeApp/DummyDlg/

contendrá los archivos para la versión independiente de éste, que será eventualmente parte de toda la aplicación.

Me gustaría desarrollar el independiente de cuadro de diálogo y las clases relacionadas.Me gustaría crear un Qt-archivo de proyecto que se va a incluir.Contendrá sólo las formas y los archivos que finalmente será parte de toda la aplicación.

Archivo DummyDlg.el pri, en /MyWholeApp/DummyDlg/ :

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

El ejemplo anterior es muy simple.Se podrían agregar otras clases si es necesario.

Para desarrollar el independiente de cuadro de diálogo, me permitiría crear un Qt archivo de proyecto dedicado a este cuadro de diálogo :

Archivo DummyDlg.pro, en /MyWholeApp/DummyDlg/ :

TEMPLATE = app
DEPENDPATH += .
INCLUDEPATH += .

include(DummyDlg.pri)

# Input
SOURCES += main.cpp

Como se puede ver, este PRO de archivo es incluido el PRI archivo creado anteriormente, y es la adición de un archivo adicional (main.cpp) que contendrá el código básico para el funcionamiento del cuadro de diálogo, como independiente :

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

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

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

A continuación, incluir este cuadro de diálogo para el conjunto de aplicaciones que usted necesita para crear un Qt-archivo de Proyecto :

archivo WholeApp.pro, en /MyWholeApp/ :

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

include(DummyDlg/DummyDlg.pri)

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

Por supuesto, la Qt-archivo de Proyecto es muy simplista, pero muestra cómo he incluido el cuadro de diálogo.

Otros consejos

Sí, usted puede editar su principal proyecto (.pro) archivo para incluir su sub proyecto del archivo de proyecto.

Ver aquí

Para Qt en Windows, puede crear archivos Dll para cada subproyecto que desea.No hay problema con el uso de ellas desde el principal proyecto (exe) después de eso.Tendrás que cuidar de las dependencias, pero no es muy difícil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top