posted by 블르샤이닝 2023. 8. 19. 17:55
728x90

파이썬 qt 이미지 파일 넣는 방법에 대해 삽질한 후 혹시 도움이 될까 기록을 남깁니다

 

1. labe 창을 하나 만든다. 

2. 그리고 나서 '리소스 브라우저' qrc 파일을 만든 후 이미지 파일을 하나 생성한다

 ->이건 어렵지 않으니 설명 생략...그냥 버튼 몇번 클릭하면 끝임

 

3. 라벨은 클릭한 후 오른쪽 끝에 보면 pixmap 이라는 부분이 보이는데 '...'을 클릭해서 위에 생성한 qrc의 이미지를 넣어준다

 

4. qt 디자인을 저장버튼을 누른다

5. cmd 를 실행한 후 qrc 파일이 있는 경로에 가서  아래 명령어 처럼 입력한다

pyrcc5 resource.qrc -o resource_rc.py

->당연하겠지만 resource.qrc와 resource.py는 자신이 만든 파일명과 변경할 파일명으로 수정해야겠지.

 

6. 파이썬 코드 수정

import sys

import resource_rc #이부분은 qrc를 변경한 py 썬을 import 로 선언하면됨

 


from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import Qt

 

Ui_Form_main = uic.loadUiType("main.ui")[0]

 

 

class WindowClass(QtWidgets.QMainWindow, Ui_Form_main):
    def __init__(self):
        super().__init__()
        self.setupUi(self)
        self.setWindowTitle("메모 분석 프로그램")   
        self.pushButton.clicked.connect(self.open_memo_window)
        
        
        pixmap = QPixmap('50_main.jpg')

        lbl_img = QLabel()
        lbl_img.setPixmap(pixmap)
        lbl_size = QLabel('Width: '+str(pixmap.width())+', Height: '+str(pixmap.height()))
        lbl_size.setAlignment(Qt.AlignCenter)

        vbox = QVBoxLayout()
        vbox.addWidget(lbl_img)
        vbox.addWidget(lbl_size)
        self.setLayout(vbox)
        #self.move(300, 300)
        self.show()

 

※ 위 코드만 봐도 어떻게 넣어야 할지 알거다. 

 

7. 마지막으로 spyder(파이선) 컴파일 시키면 이미지 파일이 들어간것이 확인된다. 

마지막으로 이미지 파일이랑 생성된 py 파일은 소스코드 폴더에 같이 있어야 한다. 

 

 

 

진짜 별거 없는데 여기저기 찾아봐도 이렇게 하라고 하는 글이 없었다.......이것때문에 2틀정도 날려먹은것같네...ㅠㅠ

 

이상 끝!~

 

참고 블로그 

https://wikidocs.net/33768

https://m.blog.naver.com/smilewhj/221066451394

https://stackoverflow.com/questions/41301204/importerror-no-module-named-resource-rc

728x90