Python/파이선과 친해지기

[Python] - Python과 예쁘게 친해지기- QLabel

## QLabel.py

from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QHBoxLayout
import sys

class my_window(QWidget) :

    def __init__(self) :
        super().__init__()
        lb = QLabel("이것은 QLabel")
        box = QHBoxLayout()
        box.addWidget(lb)
        
        self.setLayout(box)
        

if __name__ == "__main__" :
    app = QApplication(sys.argv)
    first_window = my_window()
    first_window.show()
    app.exec_()

QLabel은 PyQt의 가장 기본적인 WIdget이다. 사용자와의 상호작용없는 단순 String을 표현하기도 하고 Pixmap이나 setMovie를 통해서 그림을 출력할 수도 있다. 자주사용하는 코드를 알아보자.


사용예제 코드1 (선언, Font와 글자색 변경)

## QLabel_1.py

from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QHBoxLayout
from PyQt5 import QtGui
import sys

class my_window(QWidget) :

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

        ### QLabel을 선언, 생성자에 str은 label에 표시될 문자열
        lb = QLabel("이것은 QLabel")

        ### QLabel의 문자열을 변경
        lb.setText("저것은 QLabel")

        ### QFont(글씨체,폰트사이즈) None일시 DEFAULT
        lb.setFont(QtGui.QFont(None,20))
        lb.setStyleSheet("Color:blue")

        ### 배치코
        box = QHBoxLayout()
        box.addWidget(lb)
        
        self.setLayout(box)
        

if __name__ == "__main__" :
    app = QApplication(sys.argv)
    first_window = my_window()
    first_window.show()
    app.exec_()

 

사용예제 코드2 (PIXMAP)(선언과 크기조정)

## QLabel.py

from PyQt5.QtWidgets import QApplication, QLabel, QWidget, QHBoxLayout
from PyQt5.QtGui import QPixmap
import sys

class my_window(QWidget) :

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

        ### QLabel을 선언, 생성자에 str은 label에 표시될 문자열
        lb = QLabel()

        ### pixmap객체 설정
        pix = QPixmap("./img.png")
        
        ### pix.scaled(width, height)로 강제조정
        ### pix.scaledToWidth(width) 혹은 .scaledToHeight(heigh)로 비율유지조정
        pix.scaled(400,500)
        
        ### label에 pixmap설정
        lb.setPixmap(pix)
        
        box = QHBoxLayout()
        box.addWidget(lb)
        
        self.setLayout(box)

    def print_world(self):
        print("무야호")

if __name__ == "__main__" :
    app = QApplication(sys.argv)
    first_window = my_window()
    first_window.show()
    app.exec_()

동일한 방식으로 동영상형식인 QMovie도 설정 가능하다.