[PyQt5] 위젯, 라인, 에디트, 인풋, 텍스트

2020. 2. 12. 16:37IT/PyQt5

 

텍스트를 입력받아야 옵션값이나 범위설정 등 다양한 기능을 할 수 있습니다. 이번에는 입력받은 텍스트를 그대로 출력하는 기능을 작업하였습니다.

 

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

class lineEditApp(QWidget):
    def __init__(self):
        super().__init__()
        self.initUI()

    def initUI(self):
        self.lb1 = QLabel(self)
        self.lb1.move(10,20)

        qle = QLineEdit(self)
        qle.move(10,60)
        qle.textChanged[str].connect(self.onChanged)

        self.setWindowTitle('라인 에디트')
        self.setGeometry(500, 500, 200, 100)
        self.show()

    def onChanged(self, text):
        self.lb1.setText(text)
        self.lb1.adjustSize()

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

QLineEdit로 텍스트 입력창 객체를 만듭니다. 그리고 textChanged 시그널로 텍스트가 변할 때마다 기능을 작동하게 합니다. 기능으로 onChanged을 연결하여 입력받은 텍스트를 QLabel에 출력하는 원리입니다.