CMakeコンパイルWidget UIQtプログラム

1409 ワード

CMakeがKDEプロジェクトのコンパイルシステムに導入されてから、CMakeの使用者は日増しに増加し、Qtも例外ではなく、QMAKEを使用してQtプログラムをコンパイルするほか、CMakeを使用してQtプログラムをコンパイルすることもでき、CMakeは使用上より柔軟で、特に大型プログラムである.
CMakeはQt 4とQt 5でサポートされていますが、使用上は少し違いますが、ここでは主にQt 5でCMakeを使用してQtプログラムをコンパイルすることを見てみましょう.
公式ドキュメントリンク: http://qt-project.org/doc/qt-5.0/qtdoc/cmake-manual.html
ここではCMake 2.8.9以降のバージョンについて説明します.
Widget UIのQtプログラムについて、まず次のようにします.
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# Instruct CMake to run moc automatically when needed
set(CMAKE_AUTOMOC ON)

set(EXECUTABLE_OUTPUT_PATH  "${PROJECT_SOURCE_DIR}/bin")

# Find the QtWidgets library
find_package(Qt5Widgets)
私たちのUIプログラムのインタフェースがQt Designによって設計されていると仮定すると、次のCMakeの内容は次の通りです.
qt5_wrap_ui(ui_FILES gotocelldialog.ui)
add_executable(gotocelldialog
     main.cpp
     ${ui_FILES}
 )

 # Use the Widgets module from Qt 5
 qt5_use_modules(gotocelldialog Widgets)
また、作成したリソースファイルの場合は
qt5_add_resourcesは、対応するCPPファイルを生成します.
最後にmain関数を作成します.
#include <QApplication>
#include <QDialog>

#include "ui_gotocelldialog.h"

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    Ui::GoToCellDialog ui;
    QDialog *dialog = new QDialog;
    ui.setupUi(dialog);
    dialog->show();

    return app.exec();
}