Как я делаю подпроект с QT?

Это не ошибка, это особенность: -)

Когда вы смотрите на оператор '=' в Python, не думайте в терминах назначения. Вы не назначаете вещи, вы их связываете. = является оператором связывания.

Итак, в вашем коде вы указываете значение 1 a name: a. Затем вы указываете значение в 'a': b. Затем вы привязываете значение 2 к имени «a». Значение, связанное с b, не изменяется в этой операции.

Исходя из C-подобных языков, это может сбивать с толку, но как только вы привыкнете к нему, вы обнаружите, что он помогает вам читать и рассуждать о вашем коде более четко: значение, которое имеет имя «b», не изменится, если вы явно не измените его. И если вы выполните «импорт этого», вы обнаружите, что Zen of Python утверждает, что Explicit лучше, чем неявный.

Обратите также внимание на то, что функциональные языки, такие как Haskell, также используют эту парадигму, значение с точки зрения надежности.

14
задан Andrew Medico 10 May 2016 в 21:20
поделиться

3 ответа

Вот то, что я сделал бы. Скажем, я хочу следующую иерархию папок:

/MyWholeApp

будет содержать файлы для целого приложения.

/MyWholeApp/DummyDlg/

будет содержать файлы для автономного dialogbox, который будет в конечном счете частью целого приложения.

я разработал бы автономное диалоговое окно и связанные классы. Я создал бы файл Спокойный проекта, который будет включенным. Это будет содержать только формы и файлы, которые в конечном счете будут частью целого приложения.

Файл DummyDlg.pri, в/MyWholeApp/DummyDlg/:

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

вышеупомянутый пример очень прост. Вы могли добавить другие классы в случае необходимости.

Для разработки автономного диалогового окна я затем создал бы спокойный файл проекта, выделенный этому диалоговому окну:

Файл 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();
}

Затем для включения этого диалогового окна в целое приложение необходимо создать файл Спокойный Проекта:

файл 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

, Конечно, файл Спокойный Проекта выше очень упрощен, но показывает, как я включал автономное диалоговое окно.

20
ответ дан 1 December 2019 в 12:54
поделиться

Да, можно отредактировать основной проект (.pro) файл для включения файла подпроекта проекта.

Посмотрите здесь

1
ответ дан 1 December 2019 в 12:54
поделиться

Для QT в Windows можно создать DLLs для каждого подпроекта, который Вы хотите. Никакая проблема с использованием их из основного проекта (exe) после этого. Необходимо будет заботиться о зависимостях, но это не очень трудно.

0
ответ дан 1 December 2019 в 12:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: