- PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램
- 1. PyQt5 소개 (Introduction)
- 2. PyQt5 설치 (Installation)
- 3. PyQt5 기초 (Basics)
- 4. PyQt5 레이아웃 (Layout)
- 5. PyQt5 위젯 (Widget)
- QPushButton
- QLabel
- QCheckBox
- QRadioButton
- QComboBox
- QLineEdit
- QLineEdit (Advanced)
- QProgressBar
- QSlider & QDial
- QSplitter
- QGroupBox
- QTabWidget
- QTabWidget (Advanced)
- QPixmap
- QCalendarWidget
- QSpinBox
- QDoubleSpinBox
- QDateEdit
- QTimeEdit
- QDateTimeEdit
- QTextBrowser
- QTextBrowser (Advanced)
- QTextEdit
- QTableWidget
- QTableWidget (Advanced)
- 6. PyQt5 다이얼로그 (Dialog)
- 7. PyQt5 시그널과 슬롯 (Signal&Slot)
- 8. PyQt5 그림 그리기 (Updated)
- 9. PyQt5 실행파일 만들기 (PyInstaller)
- 10. PyQt5 프로그램 예제 (Updated)
- ▷ PDF ebook
- Python Tutorial
- NumPy Tutorial
- Matplotlib Tutorial
- PyQt5 Tutorial
- BeautifulSoup Tutorial
- xlrd/xlwt Tutorial
- Pillow Tutorial
- Googletrans Tutorial
- PyWin32 Tutorial
- PyAutoGUI Tutorial
- Pyperclip Tutorial
- TensorFlow Tutorial
- Tips and Examples
QPixmap¶
QPixmap은 이미지를 다룰 때 사용되는 위젯입니다.
지원하는 파일 형식은 아래와 같습니다. 어떤 이미지 형식은 ‘읽기’만 가능합니다.
QPixmap을 이용해서 창에 하나의 이미지를 나타내 보겠습니다.
예제¶
## Ex 5-12. QPixmap.
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_())
이미지 하나가 위젯 창에 나타납니다.
설명¶
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)
self.setLayout(vbox)
수평 박스 레이아웃을 하나 만들고 라벨을 배치합니다.
setLayout()을 이용해서 수평 박스(hbox)를 창의 레이아웃으로 지정해 줍니다.
이전글/다음글
이전글 : QTabWidget (Advanced)
다음글 : QCalendarWidget