- Resource2026년 06월 08일
- 소쩍소쩍이
- 작성자
- 2026.06.08.:40
GUI 프로그램에서 리소스(Resource)란?
리소스(Resource)는 프로그램 내부에서 사용하는 외부 파일들을 의미한다.
대표적으로 이미지 파일, 아이콘, 사운드, 글꼴(Font) 등이 있으며 GUI 프로그램에서는 화면을 구성하기 위해 자주 사용된다.
리소스 시스템이 필요한 이유
GUI 프로그램은 버튼 아이콘, 로딩 화면, 배경 이미지 등 다양한 파일을 함께 사용한다.
이러한 파일들을 프로젝트 폴더에 따로 보관하면 실행 파일과 함께 추가 폴더를 배포해야 하며, 설치 위치가 변경되거나 파일 경로가 달라질 경우 프로그램이 정상적으로 동작하지 않을 수 있다.
또한 실행 파일 하나만으로 배포하기 어려워지고 외부 파일에 의존하는 구조가 된다.
Qt의 리소스 시스템(Resource System)
Qt에서는 이미지나 아이콘 등의 리소스 파일을 프로그램 내부에 포함시킬 수 있는 리소스 시스템을 제공한다.
컴파일 과정에서 모든 리소스가 하나의 실행 파일 내부로 패킹되므로 별도의 이미지 폴더를 함께 배포하지 않아도 된다.
리소스 시스템의 장점
장점 설명 간편한 배포 이미지나 아이콘을 별도로 복사할 필요 없이 실행 파일 하나로 배포할 수 있다. 경로 문제 해결 실행 위치가 변경되어도 리소스 경로가 바뀌지 않는다. 파일 보호 리소스가 실행 파일 내부에 포함되어 쉽게 삭제되거나 변경되지 않는다. 프로젝트 관리 리소스를 하나의 시스템으로 관리할 수 있어 유지보수가 편리하다. 주의사항
리소스 파일은 컴파일 과정에서 프로그램 내부에 포함되는 정적인 데이터이다.
따라서 실행 중에는 읽는 것은 가능하지만 내용을 수정하거나 저장하는 것은 불가능하다.
프로그램 실행 후 변경되는 데이터는 리소스가 아닌 JSON, TXT, DAT 등의 일반 파일에 저장해야 한다.
리소스 파일, Prefix, Alias
Qt 리소스 시스템에서는 실제 컴퓨터의 절대 경로를 사용하지 않는다.
대신 Prefix와 Alias를 이용하여 프로그램 내부에서 사용할 리소스 경로를 만든다.
Prefix란?
Prefix는 리소스 경로의 시작 부분에 붙는 기준 문자열이다.
리소스를 기능별로 분류하거나 같은 이름의 파일을 충돌 없이 관리할 수 있도록 도와준다.
<qresource prefix="/icons"> <file alias="save">icons/save.png</file> <file alias="edit_copy">assets/icons/16x16/edit-copy.png</file>위와 같이 리소스를 등록하면 실제 파일 위치와 관계없이 프로그램에서는 리소스 경로를 통해 접근할 수 있다.
Prefix와 Alias를 사용하는 이유
구분 역할 Prefix 리소스의 그룹 또는 폴더 역할을 하며 경로의 시작 부분을 구성한다. Alias 실제 파일 이름 대신 사용할 별칭을 지정하여 코드에서 쉽게 접근할 수 있게 한다. Qt의 리소스 시스템을 활용하면 외부 파일 의존성을 줄일 수 있으며, 실행 파일 하나만으로도 이미지와 아이콘 등을 함께 배포할 수 있어 GUI 프로그램 개발과 배포가 훨씬 편리해진다.
'PySide6 > Resource' 카테고리의 다른 글
CSS 스타일 적용하기 (0) 2026.06.16 Custom Widget (0) 2026.06.16 다음글이전글이전 글이 없습니다.댓글