Frage

Ich bin dabei, auf einer große Qt-Anwendung zu starten, die aus kleineren Komponenten (Gruppen von Klassen, die zusammenarbeiten) hergestellt wird. Zum Beispiel könnte ein Dialog sein, die im Projekt verwendet wird, sollte aber auf seine eigene entwickelt werden, bevor sie in das Projekt eingebunden werden. Statt auf ihn irgendwo in einem anderen Ordner zu arbeiten und sie dann in die Hauptprojektordner kopieren, kann erstelle ich einen Unterordner, die zu diesem Dialog gewidmet ist, und dann irgendwie in das Hauptprojekt integrieren?

War es hilfreich?

Lösung

Hier ist, was ich tun würde. Lassen Sie uns sagen, dass ich die folgende Ordner-Hierarchie wollen:

/MyWholeApp

werden die Dateien für die gesamte Anwendung enthalten.

/MyWholeApp/DummyDlg/

werden die Dateien für das Standalone dialogbox enthalten, die schließlich Teil der gesamten Anwendung sein wird.

Ich würde das Standalone-Dialogfeld und die zugehörigen Klassen entwickeln. Ich würde eine Qt-Projektdatei erstellen, die aufgenommen werden sollen. Es enthält nur die Formulare und Dateien, die schließlich Teil der gesamten Anwendung sein wird.

Datei DummyDlg.pri, in / MyWholeApp / DummyDlg /:

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

Das obige Beispiel ist sehr einfach. Sie könnten auch andere Klassen hinzufügen, wenn nötig.

das Standalone-Dialogfeld zu entwickeln, würde ich dann eine Qt-Projektdatei zu diesem Dialog gewidmet erstellen:

Datei DummyDlg.pro, in / MyWholeApp / DummyDlg /:

TEMPLATE = app
DEPENDPATH += .
INCLUDEPATH += .

include(DummyDlg.pri)

# Input
SOURCES += main.cpp

Wie Sie sehen können, das PRO-Datei einschließlich der PRI-Datei oben erstellt, und fügt eine zusätzliche Datei (main.cpp), die den grundlegenden Code für die Ausführung des Dialogfeldes als eigenständigen enthalten:

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

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

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

Dann dieses Dialogfeld auf die gesamte Anwendung schließen Sie eine Qt-Projektdatei erstellen müssen:

Datei WholeApp.pro, in / MyWholeApp /:

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

include(DummyDlg/DummyDlg.pri)

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

Natürlich über die Qt-Projekt-Datei ist sehr simpel, aber zeigt, wie ich gehörte das Stand-alone-Dialogfeld an.

Andere Tipps

Ja, Sie können Ihr Hauptprojekt bearbeiten (.pro-Datei) Ihr Sub-Projekt Projektdatei aufzunehmen.

hier

Für Qt unter Windows können Sie DLLs für jedes Teilprojekt erstellen Sie wollen. Kein Problem mit ihnen aus dem Hauptprojekt (exe) danach mit. Sie werden Pflegen von Abhängigkeiten nehmen, aber es ist nicht sehr schwierig.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top