15

小さなコンポーネント (連携して動作するクラスのグループ) で構成される大規模な Qt アプリケーションから始めようとしています。たとえば、プロジェクトで使用されているダイアログがあるかもしれませんが、プロジェクトに統合する前に独自に開発する必要があります。どこかの別のフォルダーで作業してからメイン プロジェクト フォルダーにコピーする代わりに、そのダイアログ専用のサブフォルダーを作成し、それを何らかの方法でメイン プロジェクトに組み込むことはできますか?

4

3 に答える 3

23

これが私がすることです。次のフォルダ階層が必要だとしましょう:

/MyWholeApp

アプリケーション全体のファイルが含まれます。

/MyWholeApp/DummyDlg/

最終的にアプリケーション全体の一部となるスタンドアロン ダイアログボックスのファイルが含まれます。

スタンドアロンのダイアログ ボックスと関連するクラスを開発します。インクルードするQtプロジェクトファイルを作成します。最終的にアプリケーション全体の一部となるフォームとファイルのみが含まれます。

/MyWholeApp/DummyDlg/ にある DummyDlg.pri ファイル:

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

上記の例は非常に単純です。必要に応じて他のクラスを追加できます。

スタンドアロン ダイアログ ボックスを開発するには、このダイアログ専用の Qt プロジェクト ファイルを作成します。

/MyWholeApp/DummyDlg/ にある DummyDlg.pro ファイル:

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 ファイルを作成する必要があります。

/MyWholeApp/ 内の WholeApp.pro ファイル:

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

include(DummyDlg/DummyDlg.pri)

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

もちろん、上記の Qt-Project ファイルは非常に単純化されていますが、スタンドアロンのダイアログ ボックスを含めた方法を示しています。

于 2008-09-15T09:09:49.427 に答える
1

はい、メイン プロジェクト (.pro) ファイルを編集して、サブ プロジェクトのプロジェクト ファイルを含めることができます。

こちらをご覧ください

于 2008-09-14T15:50:10.987 に答える
0

Windows 上の Qt では、必要なサブプロジェクトごとに DLL を作成できます。その後、メインプロジェクト(exe)から使用しても問題ありません。依存関係を処理する必要がありますが、それほど難しくありません。

于 2008-09-14T15:49:06.527 に答える