PyQt5-QPixmap 클래스
QPixmap클래스는 이미지의 오프 스크린 표현을 제공합니다. QPaintDevice 객체로 사용하거나 일반적으로 레이블 또는 버튼과 같은 다른 위젯으로로드 할 수 있습니다.
Qt API에는 또 다른 유사한 클래스가 있습니다. QImage, I / O 및 기타 픽셀 조작에 최적화되어 있습니다. 반면 Pixmap은 화면에 표시하도록 최적화되어 있습니다. 두 형식 모두 상호 변환이 가능합니다.
QPixmap 객체로 읽을 수있는 이미지 파일의 유형은 다음과 같습니다.
BMP | Windows 비트 맵 |
GIF | 그래픽 교환 형식 (선택 사항) |
JPG | 합동 사진 전문가 그룹 |
JPEG | 합동 사진 전문가 그룹 |
PNG | 휴대용 네트워크 그래픽 |
PBM | 휴대용 비트 맵 |
PGM | 휴대용 그레이 맵 |
PPM | 휴대용 Pixmap |
XBM | X11 비트 맵 |
XPM | X11 Pixmap |
다음 방법은 QPixmap 객체를 처리하는 데 유용합니다-
Sr. 아니. | 방법 및 설명 |
---|---|
1 |
copy() QRect 개체에서 픽스맵 데이터를 복사합니다. |
2 |
fromImage() QImage 객체를 QPixmap으로 변환 |
삼 |
grabWidget() 주어진 위젯에서 픽스맵을 생성합니다. |
4 |
grabWindow() 창에서 데이터의 픽스맵 만들기 |
5 |
Load() 이미지 파일을 픽스맵으로로드합니다. |
6 |
save() QPixmap 객체를 파일로 저장합니다. |
7 |
toImage QPixmap을 QImage로 변환 |
QPixmap의 가장 일반적인 용도는 라벨 / 버튼에 이미지를 표시하는 것입니다.
예
다음 예제는 다음을 사용하여 QLabel에 표시된 이미지를 보여줍니다. setPixmap() 방법.
완전한 코드는 다음과 같습니다.
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
def window():
app = QApplication(sys.argv)
win = QWidget()
l1 = QLabel()
l1.setPixmap(QPixmap("python.png"))
vbox = QVBoxLayout()
vbox.addWidget(l1)
win.setLayout(vbox)
win.setWindowTitle("QPixmap Demo")
win.show()
sys.exit(app.exec_())
if __name__ == '__main__':
window()
위의 코드는 다음 출력을 생성합니다.