애플리케이션 아이콘 설정
일반적으로 애플리케이션 최상위 창의 왼쪽 상단 모서리에 표시되는 애플리케이션 아이콘은 ` QWindow::setIcon()` 메서드를 호출하여 설정합니다.
데스크톱에 표시되는(즉, 애플리케이션이 실행되기 전) 실행 파일 자체의 아이콘을 변경하려면, 플랫폼에 따라 다른 기법을 사용해야 합니다.
Windows에서 애플리케이션 아이콘 설정
먼저, 아이콘 이미지가 포함된 ICO 형식의 비트맵 파일을 만듭니다. 이는 Microsoft Visual Studio를 사용하여 수행할 수 있습니다. ‘ File >> New ’를 선택하고 ‘ Icon File ’를 선택합니다.
참고: 아이콘 편집기만 사용할 예정이므로, Visual Studio IDE에 애플리케이션을 로드할필요는 없습니다.
또는 ImageMagick의 convert 도구를 사용하여 일련의 이미지에서 ‘ .ico ’ 파일을 생성할 수도 있습니다:
magick.exe convert icon-16.png icon-32.png icon-256.png icon.icoICO 파일을 애플리케이션의 소스 코드 디렉터리에, 예를 들어 appico.ico 라는 이름으로 저장하십시오.
Windows에서 CMake 사용
애플리케이션 아이콘을 구성하려면 아이콘에 대한 정보가 포함된 리소스 파일이 필요합니다. 리소스 파일은 아이콘, 커서, 글꼴 등과 같은 애플리케이션 리소스에 대한 정보를 포함하는 텍스트 파일입니다. 리소스 파일과 그 내용에 대한 자세한 내용은 리소스 파일 정보에서 확인하십시오.
.rc 파일이 준비되면, 이 파일에 ICO 파일에 대한 정보를 추가하고 이를 사용하여 애플리케이션 아이콘을 구성하십시오.
다음 코드 조각은 Photo Surface 예제 애플리케이션이 CMake를 사용하여 애플리케이션 아이콘을 설정하는 방법을 보여줍니다.
set(app_icon_resource_windows "${CMAKE_CURRENT_SOURCE_DIR}/resources/photosurface.rc")
qt_add_executable(photosurfaceexample main.cpp ${app_icon_resource_windows})set 명령어는 RC 파일의 경로를 포함하는 app_icon_windows 변수를 정의한다는 점에 유의하십시오. 이 변수는 add_executable 명령어와 함께 사용되어 애플리케이션 아이콘을 설정합니다.
Windows에서 qmake 사용하기
아직 qmake를 사용하여 메이크파일을 생성하고 있다면, .pro 프로젝트 파일에 다음 한 줄을 추가해야 합니다:
RC_ICONS = myappico.ico마지막으로, makefile과 애플리케이션을 다시 생성하십시오. 이제 탐색기에서 .exe 파일이 해당 아이콘으로 표시될 것입니다.
하지만 이미 myapp.rc 와 같은 이름의 .rc 파일이 있고 이를 재사용하려는 경우, 다음 두 단계를 수행해야 합니다. 먼저, myapp.rc 파일에 다음 한 줄을 추가하십시오:
IDI_ICON1 ICON "myappico.ico"그런 다음, myapp.pro 파일에 다음 줄을 추가하세요:
RC_FILE = myapp.rcqmake 를 사용하지 않는 경우, 필요한 단계는 다음과 같습니다. 먼저 .rc 파일을 생성하고, rc 또는 windres 프로그램을 사용하여 .rc 파일을 처리한 다음, 생성된 .res 파일을 애플리케이션에 연결하십시오.
macOS에서 애플리케이션 아이콘 설정하기
일반적으로 애플리케이션 도크 영역에 표시되는 애플리케이션 아이콘은 창에서 QWindow::setIcon()를 호출하여 설정합니다. 함수 호출 전에 프로그램이 애플리케이션 도크 영역에 나타날 수도 있으며, 이 경우 튀어 오르는 애니메이션이 진행되는 동안 기본 아이콘이 표시됩니다.
애플리케이션이 실행될 때와 Finder에서 모두 올바른 아이콘이 표시되도록 하려면 플랫폼에 따라 다른 방법을 사용해야 합니다.
많은 프로그램이 아이콘 파일을 생성할 수 있지만(.icns), Apple에서 제공하는 iconutil 프로그램을 사용하는 것이 권장됩니다. iconutil은 아이콘셋 폴더를 배포 가능한 고해상도 icns 파일로 변환하는 명령줄 도구입니다. 이 도구를 사용하면 생성된 icns 파일이 자동으로 압축되므로, 사용자가 별도로 압축 작업을 수행할 필요가 없습니다.
macOS에서 CMake 사용하기
애플리케이션의 아이콘을 구성하려면 CMake에서 생성된 Info.plist 파일에 아이콘 정보가 포함되어야 합니다. 이를 위해 .icns 파일 이름을 MACOSX_BUNDLE_ICON_FILE 변수로 설정하면 됩니다.
다음 코드 조각은 Photo Surface 예제 애플리케이션이 CMake를 사용하여 애플리케이션 아이콘을 설정하는 방법을 보여줍니다:
# The MACOSX_BUNDLE_ICON_FILE variable is added to the Info.plist
# generated by CMake. This variable contains the .icns file name,
# without the path.
set(MACOSX_BUNDLE_ICON_FILE photosurface.icns)
# And the following tells CMake where to find and install the file itself.
set(app_icon_macos "${CMAKE_CURRENT_SOURCE_DIR}/resources/photosurface.icns")
set_source_files_properties(${app_icon_macos} PROPERTIES
MACOSX_PACKAGE_LOCATION "Resources")
qt_add_executable(photosurfaceexample MACOSX_BUNDLE main.cpp ${app_icon_macos})첫 번째 set 명령어는 MACOSX_BUNDLE_ICON_FILE 변수를 정의하며, 이는 Info.plist 파일에 아이콘 파일을 추가하는 데 필요합니다. 두 번째 set 명령어는 아이콘 파일의 절대 경로를 포함하는 app_icon_macos 변수를 정의합니다. 이 변수는 아이콘 파일의 설치 위치를 정의하는 MACOSX_PACKAGE_LOCATION을 구성하는 데 사용됩니다. 마지막으로, ` add_executable `는 ` app_icon_macOS ` 변수를 사용하여 애플리케이션의 아이콘을 설정합니다.
macOS에서 qmake 사용하기
아직도 qmake를 사용하여 makefile을 생성하고 있다면, .pro 프로젝트 파일에 단 한 줄만 추가하면 됩니다. 예를 들어, 아이콘 파일의 이름이 myapp.icns 이고 프로젝트 파일이 myapp.pro 인 경우, myapp.pro 파일에 다음 줄을 추가하십시오.
ICON = myapp.icns이렇게 하면 qmake 가 아이콘을 올바른 위치에 배치하고, 해당 아이콘에 대한 Info.plist 항목을 생성합니다.
qmake 를 사용하지 않는 경우, 다음 단계를 수동으로 수행해야 합니다:
- 애플리케이션용
Info.plist파일을 생성합니다(Developer/Applications에서 찾을 수 있는PropertyListEditor를 사용하여). Info.plist파일에 있는CFBundleIconFile레코드와.icns레코드를 연결합니다(이때도PropertyListEditor를 사용합니다).Info.plist파일을 애플리케이션 번들의Contents디렉터리에 복사하십시오..icns파일을 애플리케이션 번들의Contents/Resources디렉터리에 복사합니다.
일반적인 리눅스 데스크톱에서 애플리케이션 아이콘 설정하기
이 섹션에서는 KDE와 GNOME이라는 두 가지 일반적인 리눅스 데스크톱 환경에서 애플리케이션 아이콘을 제공하는 데 관련된 문제점을 간략히 설명합니다. 애플리케이션 아이콘을 설명하는 데 사용되는 핵심 기술은 두 데스크톱 모두에서 동일하며, 다른 데스크톱에도 적용될 수 있지만, 각 데스크톱마다 고유한 세부 사항이 있습니다. 이러한 리눅스 데스크톱에서 사용하는 표준에 대한 주요 정보 출처는 freedesktop.org입니다. 다른 리눅스 데스크톱에 대한 정보는 관심 있는 데스크톱의 문서를 참조하십시오.
대개 사용자는 실행 파일을 직접 사용하지 않고, 대신 바탕화면의 아이콘을 클릭하여 애플리케이션을 실행합니다. 이러한 아이콘은 애플리케이션에 대한 설명과 아이콘 정보를 포함하는 “바탕화면 항목 파일”을 나타냅니다. 두 데스크톱 환경 모두 이러한 파일에 포함된 정보를 가져올 수 있으며, 이를 활용하여 바탕화면, 시작 메뉴 및 패널에 애플리케이션 바로 가기를 생성합니다.
데스크톱 엔트리 파일에 대한 자세한 내용은 데스크톱 엔트리 사양에서 확인할 수 있습니다.
데스크톱 엔트리 파일이 애플리케이션의 세부 정보를 유용하게 포함할 수 있지만, 여전히 각 데스크톱 환경에 맞는 표준 위치에 아이콘을 저장해야 합니다. 아이콘 테마 사양( Icon Theme Specification)에는 아이콘을 저장할 수 있는 여러 위치가 명시되어 있습니다.
아이콘을 찾는 데 사용되는 경로는 사용 중인 데스크톱과 그 구성에 따라 다르지만, 각 경로 아래의 디렉터리 구조는 동일한 패턴을 따라야 합니다. 즉, 하위 디렉터리는 테마, 아이콘 크기 및 응용 프로그램 유형별로 정리되어야 합니다. 일반적으로 애플리케이션 아이콘은 hicolor 테마에 추가되므로, 32픽셀 크기의 정사각형 애플리케이션 아이콘은 아이콘 경로 아래의 ` hicolor/32x32/apps ` 디렉터리에 저장됩니다.
K 데스크톱 환경(KDE)
응용 프로그램 아이콘은 모든 사용자가 사용할 수 있도록 설치하거나, 사용자별로 설치할 수 있습니다. 현재 KDE 4 데스크톱에 로그인한 사용자는 kde4-config를 사용하여 이러한 위치를 확인할 수 있습니다. 예를 들어, 터미널 창에서 다음 명령을 입력하면 됩니다:
kde4-config --path iconQt 5 및 KDE Frameworks 5를 사용하는 애플리케이션의 아이콘은 이 명령어가 반환하는 목록에서 확인할 수 있습니다:
qtpaths --locate-dirs GenericDataLocation icons일반적으로 stdout에 출력되는 콜론(:)으로 구분된 경로 목록에는 사용자별 아이콘 경로와 시스템 전체 경로가 포함됩니다. 이 디렉터리 아래에서 아이콘 테마 사양( Icon Theme Specification)에 설명된 규칙에 따라 아이콘을 찾아 설치할 수 있습니다.
KDE 전용으로 개발하는 경우, KDE 빌드 시스템을 활용하여 애플리케이션을 구성할 수 있습니다. 이렇게 하면 아이콘이 KDE에 적합한 위치에 설치되도록 보장할 수 있습니다.
KDE 개발자 웹사이트는 https://techbase.kde.org/입니다.
GNOME
애플리케이션 아이콘은 아키텍처에 구애받지 않는 파일이 포함된 표준 시스템 전체 디렉터리 내에 저장됩니다. 이 위치는 gnome-config 를 사용하여 확인할 수 있으며, 예를 들어 터미널 창에 다음 명령을 입력하면 됩니다:
gnome-config --datadir표준 출력(stdout)에 표시된 경로는 pixmaps 라는 디렉터리가 포함되어야 하는 위치를 가리킵니다. pixmaps 디렉터리 내의 디렉터리 구조는 아이콘 테마 사양(Icon Theme Specification)에 설명되어 있습니다.
GNOME 전용으로 개발하는 경우, 표준 GNU 빌드 도구 세트를 사용하는 것이 좋습니다. 자세한 내용은 ‘통합 지침’ 섹션을 참조하십시오. 이렇게 하면 아이콘이 GNOME에 적합한 위치에 설치됩니다.
GNOME 개발자 웹사이트( https://developer.gnome.org/)에서는 애플리케이션 개발에 대한 더 자세한 정보를 제공합니다.
© 2026 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.