티스토리 뷰
이 글은 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(60, 40)
# QLineEdit 인스턴스인 qle를 생성
qle = QLineEdit(self)
qle.move(60, 100)
# qle의 텍스트가 바뀌면, onChanged() 메서드를 호출하고 바뀐 문자열을 전달한다.
qle.textChanged[str].connect(self.onChanged)
self.setWindowTitle('QLineEdit')
self.setGeometry(300, 300, 300, 200)
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 파일을 아래에 첨부하였다.
'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
TAG
- QComboBox
- C
- Python
- QtDesigner
- word
- words
- BOJ
- tips
- 북한말
- 리규찬
- QLineEdit
- NK
- books
- PyQt5
- 어원
- judge
- python3
- 리찬규
- locallibrary
- 백준
- QGridLayout
- MacOS
- QLabel
- Mac
- 유래
- setText()
- 소수
- baekjoon
- Tistory
- django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함
02-18 12:33