728x90
반응형

qt.conf또는qt6.conf는
Qt6에서 참조해야하는 여러 path 등을 지정하는데
사용되는 전용 설정 파일임
관련 공식 문서 및 개요
- Qt6 공식 문서: Using qt.conf
qt.conf / qt6.conf 개념
- Qt 라이브러리에 내장된 기본 경로(hard-coded paths)를 재정의하는 설정 파일임
- 해당 파일 존재 시 Plug-in, QML, Transloations(번역 파일) 등을 내장 경로 대신 해당 파일의 관련된 키에 정의된 path에서 탐색함
- INI 형식이며 주요 로드 위치는 다음과 같음
- 실행 파일 디렉토리
- Resources 디렉토리
- Qt 리소스 시스템 (
.../qt/etc/qt.conf)
참고: INI 형식이란?
INI 파일은 Initialization 의 유래된 이름.
key-value 기반 텍스트 설정 파일로
초기 Windows의 설정파일로 많이 사용되던 방식임.
설정 값은 section(square bracket으로 싸임) 아래에 key=value 형태로 저장된다.
depth가 1로 한정(nested structure를 허용하지 않음)되다보니 최근엔 JSON이나 YAML이 보다 많이 사용되는 추세임.
하지만 단순한 설정파일로는 가장 널리 사용되는 형식 중 하나임.
[Paths] 섹션
[Paths] section 은 `key = path` 형태로 설정됨:
- 모든 path는 기본적으로 Prefix 기준 relative path 로 해석됨
- 단 value 부분에 absolute path 지정 시 Prefix와 무관하게 해당 path를 그대로 사용함.
- Qt 6.8 버전부터는 한 key 에 여러 경로를 쉼표(,)로 구분하여 지정 가능함.
[Paths] section의 주요 키는 다음과 같음:
- Prefix:
- Qt 설치 기본 루트 경로
- 타 경로 항목의 기준이 됨
- Documentation:
- API 문서 파일이 위치하는 디렉토리임
- Headers:
- C++ 헤더 파일 위치.
- 컴파일 및 도구 탐색에 사용됨
- Libraries:
- 공유/정적 라이브러리 위치
- 런타임 로드 시 참조됨
- LibraryExecutables:
- 내부 헬퍼 실행 프로그램 (e.q. QtWebEngineProcess) 위치임
- 전통적으로 사용자가 실행하지 않지만, 내부적으로 실행해야하는 보조 실행 파일(=내부 헬퍼 실행 프로그램)을 저장하는 위치는 다음과 같음:
- Unix 계열(Linux, macOS)은 libexec : /usr/libexec
- Windows 는 bin : 실행파일과 dll파일들이 같은 디렉토리에 위치함.
- Binaries:
- qmake, designer 등의 실행 파일 위치임
- Plugins:
- 플랫폼 및 이미지 포맷 플러그인 탐색 경로임
- QmlImports:
- QML 모듈 로드 시 사용하는 경로임.
- QML은 JSON과 유사한 문법을 가진 Qt 프레임워크 전용 선언형 언어로서
동적인 애니메이션과 유연한 UI를 빠르고 쉽게 구현할 수 있게 해 줌.
- ArchData:
- 아키텍처 의존 데이터 및 플랫폼 파일 저장 위치임
- Data:
- 아키텍처 독립 데이터 및 리소스 위치임
- Translations:
- UI 번역 파일(.qm) 위치임
- Examples:
- 예제 프로젝트 설치 위치임
- Tests:
- 테스트 프로그램 설치 위치임
- Settings:
- 설정 파일 및 시스템 설정 참조 경로임
Example:
[Paths]
Prefix = /Users/dsaint31/miniconda3/envs/pyside6
Documentation = /Users/dsaint31/miniconda3/envs/pyside6/share/doc/qt6
Headers = /Users/dsaint31/miniconda3/envs/pyside6/include/qt6
Libraries = /Users/dsaint31/miniconda3/envs/pyside6/lib
LibraryExecutables = /Users/dsaint31/miniconda3/envs/pyside6/lib/qt6
Binaries = /Users/dsaint31/miniconda3/envs/pyside6/lib/qt6/bin
Plugins = /Users/dsaint31/miniconda3/envs/pyside6/lib/qt6/plugins
QmlImports = /Users/dsaint31/miniconda3/envs/pyside6/lib/qt6/qml
ArchData = /Users/dsaint31/miniconda3/envs/pyside6/lib/qt6
Data = /Users/dsaint31/miniconda3/envs/pyside6/share/qt6
Translations = /Users/dsaint31/miniconda3/envs/pyside6/share/qt6/translations
Examples = /Users/dsaint31/miniconda3/envs/pyside6/share/doc/qt6/examples
Tests = /Users/dsaint31/miniconda3/envs/pyside6/tests
같이 보면 좋은 자료들
2024.01.07 - [CE] - [Term] JSON (JavaScript Object Notation) :
[Term] JSON (JavaScript Object Notation) :
JSON (JavaScript Object Notation)은JavaScript에서 Object Notation (객체 표기)의 목적으로 제안되었고,JavaScript 언어의 subset 임.하지만, 오늘날 JSON은 프로그램들 간에 데이터를 교환에 사용되는 대표적인 Light-
ds31x.tistory.com
2024.01.07 - [CE] - [Term] YAML (Yet Another Markup Language)
[Term] YAML (Yet Another Markup Language)
Human-friendly Unicode based Data Serialization Language인간친화적인 유니코드 기반의 데이터 직렬화 언어 공식적인 이름은 사실 "YAML Ain't Markup Language" 이지만개인적으론 "Yet Another Markup Language" 이 더 와닿는
ds31x.tistory.com
728x90
'Python > PySide PyQt' 카테고리의 다른 글
| PySide6 + Qt Designer 설치 -Qt6 기준: Windows (0) | 2026.03.03 |
|---|---|
| [PySide] QItemSelectionModel 살펴보기 - 작성중 (0) | 2025.06.04 |
| [PySide] CustomModel 구현을 통한 Model-View 이해 - 작성중 (2) | 2025.06.03 |
| [PySide6] QTreeView 와 QStandardItemModel, QStandardItem (1) | 2025.06.02 |
| [PySide6] QWidget.setFocusPolicy(policy: Qt.FocusPolicy) (0) | 2025.05.13 |