QPixmap은 이미지를 다룰 때 사용되는 위젯입니다. (QPixmap 공식 문서) 참고
지원하는 파일 형식은 아래와 같습니다. 어떤 이미지 형식은 '읽기'만 가능합니다.
26-1 예제: ex25
import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout from PyQt5.QtGui import QPixmap from PyQt5.QtCore import Qt class MyApp(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): pixmap = QPixmap('landscape.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.setWindowTitle('QPixmap') self.move(300, 300) self.show() if __name__ == '__main__': app = QApplication(sys.argv) ex = MyApp() sys.exit(app.exec_()) |
26-2 설명
pixmap = QPixmap('landscape.jpg') |
파일 이름을 입력해주고, QPixmap 객체 (pixmap)을 하나 만듭니다.
lbl_img = QLabel() lbl_img.setPixmap(pixmap) |
라벨을 하나 만들고, setPixmap을 이용해서 pixmap을 라벨에 표시될 이미지로 설정해 줍니다.
lbl_size = QLabel('Width: ' + str(pixmap.width()) + ', Height: ' + str(pixmap.height())) lbl_size.setAlignment(Qt.AlignCenter) |
width() 와 height()는 이미지의 너비, 높이를 반환합니다.
너비, 높이를 표시하는 라벨(lbl_size)를 하나 만들고, setAlignment 메서드를 이용해서 가운데 정렬로 설정합니다.
vbox = QVBoxLayout() vbox.addWidget(lbl_img) vbox.addWidget(lbl_size) self.setLayout(vbox) |
수직 박스 레이아웃을 하나 만들고 라벨을 순서대로 배치합니다.
setLayout()을 이용해서 수직 박스(vbox)를 창의 레이아웃으로 지정해줍니다.
26-3 결과
'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글
28. QSpinBox (0) | 2021.07.26 |
---|---|
27. QClendarWidget (0) | 2021.07.26 |
25. QTabWidget (0) | 2021.07.26 |
24. QGroupBox (0) | 2021.07.26 |
23. QSplitter (0) | 2021.07.26 |