Estoy a punto de comenzar con una gran aplicación Qt, que está compuesta de componentes más pequeños (grupos de clases que funcionan juntas). Por ejemplo, puede haber un diálogo que se usa en el proyecto, pero debe desarrollarse por sí mismo antes de integrarse en el proyecto. En lugar de trabajar en otra carpeta en alguna parte y luego copiarla en la carpeta principal del proyecto, ¿puedo crear una subcarpeta dedicada a ese diálogo y luego incorporarla de alguna manera en el proyecto principal?¿Cómo hago un subproyecto con Qt?
Respuesta
Esto es lo que yo haría. Digamos que quiero la siguiente jerarquía de carpetas:
/MyWholeApp
se containt los archivos para toda la aplicación.
/MyWholeApp/DummyDlg/
contendrá los archivos para el cuadro de diálogo independiente que eventualmente formará parte de toda la aplicación.
Desarrollaría el cuadro de diálogo independiente y las clases relacionadas. Crearía un archivo de proyecto Qt que se incluirá. Contendrá solo los formularios y archivos que eventualmente serán parte de la aplicación completa.
Archivo DummyDlg.pri, en/MyWholeApp/DummyDlg /:
# Input
FORMS += dummydlg.ui
HEADERS += dummydlg.h
SOURCES += dummydlg.cpp
El ejemplo anterior es muy simple. Podría agregar otras clases si es necesario.
para desarrollar el cuadro de diálogo independiente, me permitiría crear un archivo de proyecto Qt dedicada 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 fichero PRO está incluyendo el archivo PRI creada anteriormente y está añadiendo un archivo adicional (main.cpp) que contendrá el código básico para el funcionamiento de la caja de diálogo como un 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 toda la aplicación que necesita para crear un archivo de Qt-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, el Qt-Proyecto El archivo anterior es muy simple, pero muestra cómo incluí el cuadro de diálogo independiente.
Para Qt en Windows, puede crear archivos DLL para cada subproyecto que desee. No hay problema con usarlos del proyecto principal (exe) después de eso. Tendrás que ocuparte de las dependencias, pero no es muy difícil.
Sí, puede editar el archivo de proyecto principal (.pro) para incluir el archivo de proyecto de su subproyecto.
- 1. ¿Cómo crear un clon git con ramas de un "subproyecto"?
- 2. Espacio de trabajo Xcode con Unity3D como un subproyecto?
- 3. ¿Cómo hago un borde transparente con CSS?
- 4. ¿Cómo insertar un valor nulo con Qt?
- 5. Running Rails en Rubymine del subproyecto
- 6. ¿Cómo hago un recurso PNG?
- 7. ¿Cómo hago un formulario para enviar con un LinkButton?
- 8. Xcode 4, problema de importación del subproyecto
- 9. ¿Cómo hago la coincidencia parcial `group by`
- 10. Cómo reproducir sonido con Qt
- 11. UIPopover ¿Cómo hago un popover con botones como este?
- 12. ¿Cómo hago formularios html con sinatra?
- 13. ¿Cómo hago una consulta personalizada con WordPress?
- 14. ¿Cómo hago una sección crítica con Boost?
- 15. ¿Cómo hago una consulta LDAP con JavaScript?
- 16. ¿Cómo uso foreach con QDomNodeList en Qt?
- 17. Un widget qt con fondo totalmente transparente
- 18. ¿Cómo hago IN sintaxis con Linq
- 19. ¿Cómo hago con HQL, muchos para muchos?
- 20. ¿Cómo hago una solicitud HTTPS con Erlang?
- 21. ¿Cómo hago un trazo en el iPhone?
- 22. ¿Cómo hago un control genuinamente transparente?
- 23. fecha setLastModified con Qt
- 24. ¿Cómo hago un punto simple "." en HAML?
- 25. ¿Cómo hago un programa de OCR?
- 26. Serialización con Qt
- 27. Scala: ¿cómo hago un método "assertThrows"?
- 28. ¿Cómo hago un carácter "^" en MATLAB?
- 29. Cmake con Qt Creator
- 30. Integrando OpenSceneGraph con Qt