본문 바로가기
Python/Pyside6

[Python/PySide6] qrc 리소스 파일 .py 로 변환하여 사용하는법

by jiyoon_92 2022. 7. 7.
반응형

pyside6

 

*QT 리소스 파일 지원 (qrc파일)

qt에서 지원해주는 리소스 파일(아이콘, 이미지 등)들을 qrc파일에 경로를 지정하고 .py로 변환한 후 이미지 파일 자체를 들고다닐 필요 없이 응용 프로그램 내에서 사용 가능하다.

우선 새 파일로 .qrc 파일을 생성한다.

qrc 파일

그냥 텍스트에 .qrc 라고 적은 후 <qresource></qresource> 내에 리소스로 이용할 파일들의 경로를 입력한다. file에 alias 기능을 쓰면 긴 경로를 축약하여 표현할 수 있다. (여기선 생략)

<!DOCTYPE RCC><RCC version="1.0">
<qresource prefix="/">
    <file>resources/icons/List.svg</file>
    <file>resources/icons/Open.svg</file>
    <file>resources/icons/OMR.svg</file>
    <file>resources/icons/Submit.svg</file>
    <file>resources/icons/Print.svg</file>
    <file>resources/icons/Spinner.gif</file>
    <file>resources/omr/blank.jpg</file>
    <file>resources/omr/marking.jpg</file>
    <file>resources/omr/scode.jpg</file>
</qresource>
</RCC>

그러고 나서 저장 후 터미널 창을 열고 다음과 같이 입력한다.

$pyside6-rcc resources.qrc -o rc_resources.py

성공하면 파일 목록에 rc_resources.py 파일이 나타난다.

resources py 파일

이 리소스 파일을 사용할 python 파일에 모듈 추가 하듯이 추가하면 해당 파일에서 사용 가능하다.

import rc_resources

사용하는 방법은 아래와 같이  ':'콜론을 붙인 후 prefix + qrc에 추가한 경로로 작성하면 된다.

pixOMR = QPixmap(':/resources/icons/OMR.svg')

 

*참조 링크

https://doc.qt.io/qtforpython/tutorials/basictutorial/qrcfiles.html

 

Using .qrc Files (pyside6-rcc) - Qt for Python

Previous Using .ui files from Designer or QtCreator with QUiLoader and pyside6-uic

doc.qt.io

 

반응형

댓글