QLabel 위젯은 텍스트 또는 이미지 라벨(분류표)을 만들 때 쓰입니다. (QLabel 공식 문서) 참고
라벨은 기본적으로 수평 방향으로 왼쪽, 수직 방향으로 가운데 정렬이지만 setAlignment() 메서드를 통해 정렬합니다.
16-1 예제: ex15
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): lbl1 = QLabel('First Label', self) lbl1.setAlignment(Qt.AlignCenter) lbl2 = QLabel('Second Label', self) lbl2.setAlignment(Qt.AlignVCenter) font1 = lbl1.font() font1.setPointSize(20) font2 = lbl2.font() font2.setFamily('Times New Roman') font2.setBold(True) lbl1.setFont(font1) lbl2.setFont(font2) layout = QVBoxLayout() layout.addWidget(lbl1) layout.addWidget(lbl2) 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_()) |
16-2 설명
lbl1 = QLabel('First Label', self) lbl1.setAlignment(Qt.AlignCenter) |
- QLabel 생성자에는 라벨 텍스트와 부모 위젯을 입력합니다.
- setAlignment() 메서드로 정렬을 설정합니다.
- Qt.AlignCenter로 설정해주면 수평, 수직 방향 모두 가운데 위치합니다.
font1 = lbl1.font() font1.setPointSize(20) |
- 라벨에 사용될 폰트를 생성합니다.
- setPointSize() 메서드로 폰트의 크기를 설정합니다.
lbl2 = QLabel('Second Label', self) lbl2.setAlignment(Qt.AlignVCenter) |
- 두 번째 라벨은 수직 방향으로 가운데 (Qt.AlignVCenter)로 설정합니다.
- 수평 방향으로 가운데 설정하려면 Qt.AlignHCenter를 입력합니다.
font2 = lbl2.font() font2.setFamily('Times New Roman') font2.setBold(True) |
- 두 번째 라벨에 설정할 폰트를 하나 만들고, setFamily() 메서드로 폰트의 종류를 'Times New Roman'으로 설정합니다.
- setBold(True)로 폰트를 진하게 설정합니다.
- 기본 폰트 크기는 13 입니다.
16-3 결과
'프로그래밍 > PyQt5 GUI' 카테고리의 다른 글
18. QRadioButton (0) | 2021.07.23 |
---|---|
17. QCheckBox (0) | 2021.07.23 |
15. QPushButton (0) | 2021.07.23 |
14. 그리드 레이아웃 (0) | 2021.07.23 |
13. 박스 레이아웃 (0) | 2021.07.22 |