Recent Posts
Recent Comments
Link
«   2025/12   »
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
Tags
more
Archives
Today
Total
관리 메뉴

DevStudy

PyQt5 본문

기타

PyQt5

DevStudy 2022. 1. 15. 21:46

QLabel

QLabel 위젯은 텍스트 또는 이미지 라벨을 만들 때 쓰입니다.

사용자와 어떤 상호작용을 제공하지는 않습니다. (QLabel 공식 문서 참고)

라벨은 기본적으로 수평 방향으로는 왼쪽, 수직 방향으로는 가운데 정렬이지만 setAlignment() 메서드를 통해 조절할 수 있습니다.

라벨을 하나 만들고, 라벨의 스타일과 관련된 몇 개의 메서드들을 사용해 보겠습니다.

 

예제

## Ex 5-2. QLabel.

import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout
from PyQt5.QtCore import Qt


class MyApp(QWidget):

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

        self.initUI()

    def initUI(self):

        label1 = QLabel('First Label', self)
        label1.setAlignment(Qt.AlignCenter)

        label2 = QLabel('Second Label', self)
        label2.setAlignment(Qt.AlignVCenter)

        font1 = label1.font()
        font1.setPointSize(20)

        font2 = label2.font()
        font2.setFamily('Times New Roman')
        font2.setBold(True)

        label1.setFont(font1)
        label2.setFont(font2)

        layout = QVBoxLayout()
        layout.addWidget(label1)
        layout.addWidget(label2)

        self.setLayout(layout)

        self.setWindowTitle('QLabel')
        self.setGeometry(300, 300, 300, 200)
        self.show()


if __name__ == '__main__':

    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())

두 개의 라벨을 수직 박스에 넣어서 표시했습니다.

 
 

설명

label1 = QLabel('First Label', self)
label1.setAlignment(Qt.AlignCenter)

QLabel 위젯을 하나 만들었습니다. 생성자에 라벨 텍스트와 부모 위젯을 입력해줍니다.

setAlignment() 메서드로 라벨의 배치를 설정할 수 있습니다.

Qt.AlignCenter로 설정해주면 수평, 수직 방향 모두 가운데 위치하게 됩니다.

 
 
font1 = label1.font()
font1.setPointSize(20)

라벨에 사용될 폰트를 하나 만들었습니다.

setPointSize() 메서드로 폰트의 크기를 설정해줍니다.

 
 
label2 = QLabel('Second Label', self)
label2.setAlignment(Qt.AlignVCenter)

두번째 라벨을 만들고, 이번에는 수직 방향으로만 가운데 (Qt.AlignVCenter)로 설정해줍니다.

수평 방향으로 가운데로 설정하려면 Qt.AlignHCenter를 입력해주면 됩니다.

 
 
font2 = label2.font()
font2.setFamily('Times New Roman')
font2.setBold(True)

두 번째 라벨에 설정할 폰트를 하나 만들고, setFamily() 메서드로 폰트의 종류를 ‘Times New Roman’으로 설정해줍니다.

setBold(True)로 폰트를 진하게 설정합니다.

이번에는 폰트의 크기를 설정하지 않았기 때문에 디폴트 크기인 13으로 설정됩니다.

 
 

결과

 

 

'기타' 카테고리의 다른 글

PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15
PyQt5  (0) 2022.01.15