QT_ADD_UI
.ui 파일을 대상에 추가합니다.
이 명령은 Qt6
패키지의 Widgets
구성 요소에 정의되어 있습니다. 패키지를 로드합니다:
find_package(Qt6 REQUIRED COMPONENTS Widgets)
시놉시스
qt_add_ui(<TARGET> SOURCES file1.ui [file2.ui ...] [INCLUDE_PREFIX <PREFIX>] [OPTIONS ...])
버전 없는 명령이 비활성화되어 있으면 qt6_add_ui()
을 대신 사용합니다. 이 명령은 이 명령과 동일한 인수 집합을 지원합니다.
이 명령은 Qt 6.8에 도입되었습니다.
설명
.ui
파일에서 User Interface Compiler (uic) 를 호출하기 위한 규칙을 만듭니다. 각 입력 파일에 대해 빌드 디렉터리에 헤더 파일이 생성됩니다. 생성된 헤더 파일은 대상의 소스에 추가됩니다.
인수
TARGET
TARGET
인수는 생성된 헤더 파일을 추가할 CMake 대상을 지정합니다.
SOURCES
SOURCES
인수는 처리할 .ui
파일 목록을 지정합니다.
INCLUDE_PREFIX
INCLUDE_PREFIX
는 생성된 헤더 파일의 include 접두사를 지정합니다. 소스 파일에 #include
지시어와 동일한 include 접두사를 사용합니다. ui_<basename>.h
접두사 없이 포함하면 이 인수를 생략할 수 있습니다.
옵션
uic
호출에 추가해야 할 OPTIONS
을 추가로 설정할 수 있습니다. 가능한 옵션은 uic 문서에서 확인할 수 있습니다.
예제
INCLUDE_PREFIX 없이
다음 스니펫에서 mainwindow.cpp
파일에는 ui_mainwindow.h
과 mainwindow.h
이 포함되어 있습니다.
#include "mainwindow.h" #include "ui_mainwindow.h"
CMakeLists.txt
은 다음과 같이 구현되며 qt_add_ui
을 호출하여 myapp
대상에 ui_mainwindow.h
을 추가합니다.
qt_add_executable(myapp mainwindow.cpp main.cpp) qt_add_ui(myapp SOURCES mainwindow.ui)
위 예제에서는 접두사 없이 ui_mainwindow.h
가 포함되어 있습니다. 따라서 INCLUDE_PREFIX
인수는 지정되지 않습니다.
INCLUDE_PREFIX 사용
#include "mainwindow.h" #include "src/files/ui_mainwindow.h"
위의 스니펫에서 mainwindow.cpp
은 접두사와 함께 ui_mainwindow.h
을 포함합니다.
qt_add_executable(myapp mainwindow.cpp main.cpp) qt_add_ui(myapp INCLUDE_PREFIX "src/files" SOURCES mainwindow.ui)
ui_mainwindow.h
은 접두사와 함께 포함되므로 위의 예에서 INCLUDE_PREFIX
인수는 src/files
로 지정됩니다.
여러 .ui 파일
다음 코드 조각에서는 widget1.cpp
및 widget2.cpp
모두 각각 ui_widget1.h
및 ui_widget2.h
을 포함합니다.
widget1.cpp
:
#include "src/files/ui_widget1.h"
widget2.cpp
:
#include "src/files/ui_widget2.h"
ui_widget1.h
및 ui_widget2.h
모두 동일한 접두사가 포함됩니다.
qt_add_executable(myapp widget1.cpp widget2.cpp main.cpp) qt_add_ui(myapp INCLUDE_PREFIX "src/files" SOURCES widget1.ui widget2.ui)
이 경우 INCLUDE_PREFIX
인수는 위 코드조각의 두 파일 모두에 대해 src/files
으로 지정할 수 있습니다.
AUTOUIC
보다 qt_add_ui
를 선호하는 경우 ?
qt_add_ui
는 AUTOUIC에 비해 몇 가지 장점이 있습니다:
qt_add_ui
Ninja
및Ninja Multi-Config
생성기에 대해 첫 번째 빌드 중에.ui
파일이 올바르게 생성되도록 보장합니다.qt_add_ui
생성된.h
파일이 빌드 디렉터리 외부로 유출되지 않도록 보장합니다.qt_add_ui
은 소스 파일을 검사하지 않으므로AUTOUIC
보다 빠른 빌드를 제공합니다.
qt_wrap_ui
보다 qt_add_ui
를 선호하는 경우 ?
qt_add_ui
에는 INCLUDE_PREFIX
인수가 있으며, 이 인수는 생성된 헤더 파일의 include 접두사를 지정하는 데 사용할 수 있습니다.
참고: 동일한 대상에 qt_add_ui
와 AUTOUIC을 모두 사용하는 것은 권장하지 않습니다.
qt_wrap_ui도참조하십시오 .
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.