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