[PyQT5] Label 생성 / 텍스트 출력 / 편집 하기 ( 폰트, 글자색, 크기 ) [2]

2021. 6. 28. 08:33GUI Programming/PyQT5 (GUI Programming)

반응형

[우선 따라해보는 Python]

 

https://github.com/Mr-DooSun/pyqt5-gui/blob/master/ex2_label/ex1_Label.py

 

Mr-DooSun/pyqt5-gui

Contribute to Mr-DooSun/pyqt5-gui development by creating an account on GitHub.

github.com

 

이번에는 Pyqt5에 label을 생성하고 label에 적힌 글자의 폰트, 글자색, 크기 까지 변경하여 사용해보도록하겠습니다.

pyqt5 설치내용은 전 포스팅에 있으므로 설치내용은 생략하겠습니다.

 

label을 생성하는방법을 두가지 가르쳐드리겠습니다

 

[첫번째 방법]

Designer를 이용하여 label을 추가한다

 

우선 Designer에서 label을 추가해줍니다

그리고 ui파일을 저장 해준 후 py파일로 변환해줍니다

 

그럼 아래와같은 소스코드가 나옵니다

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(800, 600)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        
        self.label = QtWidgets.QLabel(self.centralwidget)
        self.label.setGeometry(QtCore.QRect(120, 220, 71, 31))
        self.label.setObjectName("label")

        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 21))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.label.setText(_translate("MainWindow", "TextLabel"))

[두번째 방법]

전 프스팅에서 진행햇던 main window 소스에 label만 새로 추가해줍니다

아래의 소스를 setupUI()함수에 추가하시면됩니다.

 

self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(120, 220, 71, 31))
self.label.setObjectName("label")

위와 같은 방법들을 사용하게 되면 아래와 같은 사진처럼 나타납니다.

여기서 해당 label의 텍스트를 바꾸고싶거나 폰트,크기,색깔을 바꾸고 싶은분들도 계실겁니다.

그럴경우 변수를 선언해준뒤, 아래의 소스를 추가하시면됩니다. (변수는 위에 선언된 변수를 이용하겠습니다.)

 

self.label.setText("Test set Text") #텍스트 변환
self.label.setFont(QtGui.QFont("궁서",20)) #폰트,크기 조절
self.label.setStyleSheet("Color : green") #글자색 변환

이렇게 설정하게 될경우 아래와 같은 화면이 뜹니다

 

이렇게 label을 이용하여 텍스트 출력하는 방법을 마치도록하겠습니다

반응형