티스토리 뷰

Python/PyQt5

PyQt5: QLineEdit 사용하기 1

editor752 2019. 11. 21. 18:10

이 글은 Codetorial의 PyQt5, 초보자를 위한 Python GUI 프로그래밍-PyQt5 등을 학습하는 과정을 기록한 것이다. 강좌 자체는 해당 사이트를 참고하기 바란다.

QLineEdit은 한 줄의 문자열을 입력하고 수정할 수 있도록 하는 위젯입니다. setEchoMode() 메서드로 여러 가지 입력 모드를 설정할 수 있다. 본 글에서는 QLineEdit로 문자열을 입력받고 이를 QLabel의 텍스트로 설정하는 코드와 이를 QtDesigner를 이용해 다시 만들어 본다. QLineEdit 인스턴스에서 문자열의 변경이 있을 때 발생하는 시그널 textChanged()에 사용자 정의 메서드인 onChanged()를 연결하는 코드이다.

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
32
33
34
35
36
37
38
39
40
41
42
43
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit
 
 
class MyApp(QWidget):
 
    def __init__(self):
        super().__init__()
 
        self.initUI()
 
 
    def initUI(self):
 
        self.lbl = QLabel(self)
        self.lbl.move(6040)
 
        #  QLineEdit 인스턴스인 qle를 생성
        qle = QLineEdit(self)
        qle.move(60100)
        #  qle의 텍스트가 바뀌면, onChanged() 메서드를 호출하고 바뀐 문자열을 전달한다.
        qle.textChanged[str].connect(self.onChanged)
 
        self.setWindowTitle('QLineEdit')
        self.setGeometry(300300300200)
        self.show()
 
 
    def onChanged(self, text):
 
        #  lbl의 텍스트를 text의 문자열로 바꾸고
        self.lbl.setText(text)
        #  라벨의 크기를 조정
        self.lbl.adjustSize()
 
 
if __name__ == '__main__':
    
    app = QApplication(sys.argv)
    ex = MyApp()
    sys.exit(app.exec_())
 
 
cs

실행 화면

이를 ui 파일로 구현한 코드를 아래와 같다.

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
import sys
from PyQt5.QtWidgets import *
from PyQt5 import uic
 
form_class = uic.loadUiType('QLineEdit01.ui')[0]
 
class MyWindow(QWidget, form_class):
 
    def __init__(self):
 
        super().__init__()
        self.setupUi(self)
 
 
    def onChanged(self, text):
 
        self.lbl.setText(text)
        self.lbl.adjustSize()
 
 
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = MyWindow()
    ex.show()
    sys.exit(app.exec_())
 
cs

ui 파일을 아래에 첨부하였다.

QLineEdit01.ui
1.2 kB

2019/11/21 - [Python/PyQt5] - PyQt5: QLineEdit 사용하기 2


'Python > PyQt5' 카테고리의 다른 글

PyQt5: 여러 위젯 사용하기 1  (0) 2019.11.30
PyQt5: QLineEdit 사용하기 2  (0) 2019.11.21
PyQt5: QComboBox 사용하기  (0) 2019.11.20
PyQt5: QRadioButton 사용하기  (0) 2019.11.18
PyQt5: QCheckBox 사용하기  (0) 2019.11.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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
글 보관함
05-18 17:43