Вот что я бы сделал. Допустим, я хочу следующую иерархию папок:
/MyWholeApp
будет содержать файлы для всего приложения.
/MyWholeApp/DummyDlg/
будет содержать файлы для автономного диалогового окна, которое в конечном итоге станет частью всего приложения.
Я бы разработал автономное диалоговое окно и связанные с ним классы. Я хотел бы создать файл Qt-проекта, который будет включен. Он будет содержать только формы и файлы, которые в конечном итоге станут частью всего приложения.
Файл 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-Project:
файл 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-Project выше очень прост, но показывает, как я включил автономное диалоговое окно.