PyQt5로 프로그램을 만들던 도중 문제가 발생했다.
QPixmap으로 이미지를 보여주려는데
jpg 이미지가 보여지지 않는 것....
png 이미지는 정상적으로 보여진다.
원인을 찾아보는 도중
print(QtGui.QImageReader.supportedImageFormats())
를 통해 QPixmap에서 불러와지는 이미지 포맷 형식을 알아보니,,, jpg가 없었다.
지원하는 이미지 포맷은 다음과 같다.
[PyQt5.QtCore.QByteArray(b'bmp'), PyQt5.QtCore.QByteArray(b'pbm'), PyQt5.QtCore.QByteArray(b'pgm'),
PyQt5.QtCore.QByteArray(b'png'), PyQt5.QtCore.QByteArray(b'xpm'), PyQt5.QtCoreQByteArray(b'xbm'),
PyQt5.QtCore.QByteArray(b'ppm')]
해결 방법
우선, 내가 해결한 방법은 환경변수를 추가로 설정해주는 것이다.
직접 환경변수를 설정하진 않았고, 다음 코드를 통해 프로그램 내에서 환경변수를 설정하도록 하였다.
qt_path= os.path.dirname(PyQt5.__file__)
os.environ['QT_PLUGIN_PATH'] = os.path.join(qt_path, "Qt/plugins")
그러니 jpg 이미지도 정상적으로 보여지게 되었다.
이 방법 이전에 시도해보았던 방법은
1. Python 설치 경로에 python.exe가 있는 곳에 platforms 파일을 생성하라는 것
혹은
2. PyQt 라이브러리 설치 경로에 plugins 폴더 안에 platforms 파일을 생성하라는 것
혹시 몰라서 두 경로에 모두 platforms 폴더를 생성했지만, 아무런 변화가 없었다.
구글을 뒤진 결과, platforms로 해결했다는 사람들이 꽤 있는 것으로 보아,
다른 사람은 이 방법으로 해결할수 있지 않을까 해서 추가로 기재한다.
platforms 폴더는 아래에 압축 파일로 올려놓을테니, 필요하면 다운받아 사용하시면 된다.
반응형
'Python tech > Python Experience' 카테고리의 다른 글
Colab에서 내 구글 드라이브의 파일 불러오기 (0) | 2021.05.18 |
---|---|
[Python] DFS, BFS 알고리즘 (0) | 2021.04.14 |
[Python] Numpy Array를 DB (SQLite)에 저장하기 (0) | 2021.03.30 |
[Python] PyQt5를 exe 파일로 만들기 (오류 해결 과정) (0) | 2020.12.29 |