Notice
Recent Posts
Recent Comments
Link
투케이2K
148. (python/파이썬) [Mac Os] : [PyQt5] : QLineEdit 에딧트 텍스트 생성 및 textChanged 텍스트 변경 상태 확인 본문
Python
148. (python/파이썬) [Mac Os] : [PyQt5] : QLineEdit 에딧트 텍스트 생성 및 textChanged 텍스트 변경 상태 확인
투케이2K 2024. 5. 24. 08:12[개발 환경 설정]
개발 툴 : VsCode
개발 언어 : python
[소스 코드]
# --------------------------------------------------------------
# [import]
# --------------------------------------------------------------
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
# --------------------------------------------------------------
# --------------------------------------------------------------
# [요약 설명]
# --------------------------------------------------------------
# 1. PyQt 파이썬에서 GUI 프로그램을 만들 때 사용되는 모듈입니다
# --------------------------------------------------------------
# 2. PyQt5 를 이용한 모든 프로그램은 반드시 QApplication 객체를 생성해야합니다
# --------------------------------------------------------------
# 3. QApplication 객체의 exec_ 메소드를 호출하여 이벤트 루프를 시작합니다
# - 사용자가 마우스클 클릭하거나 키보드를 입력하는 것과 같은 동작 처리
# --------------------------------------------------------------
# 4. show 메소드를 호출해 화면에 윈도우 창을 표시하게 합니다
# --------------------------------------------------------------
# 5. 모듈 설치 참고 사이트 : https://blog.naver.com/kkh0977/223450546166
# --------------------------------------------------------------
# --------------------------------------------------------------
# [GUI Form Class]
# --------------------------------------------------------------
class MyWindow(QMainWindow):
def __init__(self): # [클래스 생성자 초기화]
super().__init__()
self.setWindowTitle("Twok2K Frame") # [타이틀 지정]
self.center() # [GUI 창 중앙 정렬]
# ---------------------------------------
# [QLineEdit 주요 속성 및 메소드 설명]
# ---------------------------------------
# 1. QLineEdit.Normal : 입력된 문자를 표시합니다. (기본값)
# 2. QLineEdit.NoEcho : 문자열을 표시하지 않습니다. 이 설정은 비밀번호의 글자수도 공개하지 않을 때 유용합니다.
# 3. QLineEdit.Password : 입력된 문자 대신 비밀번호 가림용 문자를 표시합니다.
# 4. QLineEdit.PasswordEchoOnEdit : 입력할 때만 문자를 표시하고, 수정 중에는 다른 문자를 표시합니다.
# 5. cursorPositionChanged() : 커서가 움직일 때 발생하는 신호를 발생합니다.
# 6. editingFinished() : 편집이 끝났을 때 (Return/Enter 버튼이 눌릴 때) 신호를 발생합니다.
# 7. returnPressed() : Return/Enter 버튼이 눌릴 때 신호를 발생합니다.
# 8. selectionChanged() : 선택 영역이 바뀔 때 신호를 발생합니다.
# 9. textChanged() : 텍스트가 변경될 때 신호를 발생합니다.
# 10. textEdited() : 텍스트가 편집될 때 신호를 발생합니다.
# ---------------------------------------
# [QLineEdit 생성]
qle = QLineEdit(self)
qle.move(60, 100) # x=60, y=100 좌표에 위치
# [textChanged 텍스트 변경 상태 이벤트 지정]
qle.textChanged[str].connect(self.onChanged)
def onChanged(self, text): # [textChanged 텍스트 변경 상태 이벤트]
print("")
print("----------------------------------------")
print("textChanged :: ", text)
print("----------------------------------------")
print("")
# ---------------------------------------------------------
def center(self): # [GUI 창 중앙 정렬 표시]
self.resize(300, 300) # [가로, 세로 사이즈 지정]
# [GUI 프레임창 화면 가운데 정렬 실시]
qr = self.frameGeometry() # [창의 위치와 크기 정보를 가져옵니다]
cp = QDesktopWidget().availableGeometry().center() # [사용하는 모니터 화면의 가운데 위치를 파악합니다]
qr.moveCenter(cp) # [창의 직사각형 위치를 화면의 중심의 위치로 이동합니다]
self.move(qr.topLeft()) # [현재 창을, 화면의 중심으로 이동했던 직사각형(qr)의 위치로 이동시킵니다]
# --------------------------------------------------------------
# [main start]
# --------------------------------------------------------------
# [QApplication 정의]
app = QApplication(sys.argv)
# [프로그램 표시 수행]
win = MyWindow()
win.show()
# [이벤트 처리]
app.exec_()
# --------------------------------------------------------------
# [main end]
# --------------------------------------------------------------
[결과 출력]
반응형
'Python' 카테고리의 다른 글
Comments