티스토리 뷰

IT/PyQt5

[PyQt5] 위젯, 이미지, 크기, 조절

useful-jang 2020. 2. 25. 14:55

 

이미지를 불러오는 기능을 만들어보았습니다. 웹상에 있는 이미지를 불러와서 이미지 너비를 조절하는 기능입니다.

자세한 사항은 아래 링크에서 확인할 수 있습니다.

- https://wikidocs.net/38038

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

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

class Qpixmap_App(QWidget):

    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        img_url = 'https://i.imgur.com/8gBnljd.jpg'
        img_data = urllib.request.urlopen(img_url).read()
        img_obj = QPixmap()
        img_obj.loadFromData(img_data)
        img_obj = img_obj.scaledToWidth(700)
        lb_img = QLabel()
        lb_img.setPixmap(img_obj)
        lb_size = QLabel(f'너비: {str(img_obj.width())}, 높이: {str(img_obj.height())}')
        lb_size.setAlignment(Qt.AlignCenter)

        vbox = QVBoxLayout()
        vbox.addWidget(lb_img)
        vbox.addWidget(lb_size)
        self.setLayout(vbox)

        self.setWindowTitle('이미지 표시')
        self.move(500,500)

        self.show()

if __name__ == '__main__':
    app = QApplication(sys.argv)
    ax = Qpixmap_App()
    sys.exit(app.exec_())

 

이미지를 다루기 위해 QPixmap()라는 기능을 사용합니다. 로컬에 있는 이미지는 물론 웹상에 있는 이미지도 불러올 수 있습니다. 

참고로 크기를 조절할 때는 scaledToWidth(), 또는 scaledToHeight(), scaled()를 사용합니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함