python pyside2 파이썬클래스 box layout
www.youtube.com/watch?v=DO8UqRVsoJA
파이썬클래스
===============================================
import sys
from PySide2.QtWidgets import QApplication, QWidget,\
QLineEdit, QPushButton, QVBoxLayout, QHBoxLayout, \
QLabel,QFormLayout,QSpinBox
from PySide2.QtGui import Qt # 레이블의 정렬상태 변경
ids = ["return", "zero", "abc", "python", "class"] # 11
class Form(QLabel):
def __init__(self):
super(Form, self).__init__()
self.setupUI()
def setupUI(self):
self.setWindowTitle("Form Layout")
self.form = QFormLayout() # 1
self.setLayout(self.form) # 1
# self.form.setHorizontalSpacing(20)
self.form.setVerticalSpacing(10) # 8 레이블과 위젯사이 간격
# Qt.AlignRight / Qt.AlignLeft
self.form.setLabelAlignment(Qt.AlignCenter) # 9
self.lnName = QLineEdit() # 2
self.lnPNum2 = QLineEdit() # 3
self.lnId = QLineEdit() # 4
self.btnFindId = QPushButton("중복검사") # 4
self.lblChkId = QLabel("ID 중복검사를 진행해주세요") # 5 우측에 레이블만 추가
self.btnOk = QPushButton("확인") # 6 두영역 모두에 표시
self.spAge = QSpinBox() # 7
self.spAge.setValue(19) # 7
self.lnPNum = QLineEdit() # 7
self.vbId = QHBoxLayout() # 4
self.vbId.addWidget(self.lnId) # 4
self.vbId.addWidget(self.btnFindId) # 4
self.form.addRow("이름: ", self.lnName) # 2
self.form.addRow("ID: ", self.vbId) # 4
self.form.addWidget(self.lblChkId) # 5 우측에 레이블만 추가
self.form.addRow("나이: ", self.spAge) # 7
self.form.addRow("연락처: ", self.lnPNum) # 7
self.form.addRow("보호자연락처: ", self.lnPNum2) # 3
self.form.addRow(self.btnOk) # 6 두영역 모두에 표시
self.spAge.valueChanged[int].connect(self.chk_age) # 10
self.btnFindId.clicked.connect(self.chk_id) # 11
def chk_age(self, v): # 10
if v <20: # 10
self.lnPNum2.setEnabled(True) # 10
else: # 10
self.lnPNum2.setEnabled(False) # 10
def chk_id(self): # 11
if len(self.lnId.text())<2: # 11
self.lblChkId.setText("2글자 이상 입력하세요") # 11
else: # 11
if ids.count(self.lnId.text())== 1: # 11
self.lblChkId.setText("중복되는 ID가 존재합니다") # 11
else: # 11
self.lblChkId.setText("멋진 ID네요") # 11
if __name__ == '__main__':
app = QApplication(sys.argv)
form = Form()
form.show()
sys.exit(app.exec_())
# pyinstaller -w -F 파일이름.py
# ctrl + enter 다음 줄
# ctrl + (fn) F5 코드 실행
# ctrl + shift + k 현재 행 삭제
# ctrl + / 현재 행 주석
# alt + ↑ 코드 이동
# alt + shift + ↓ 현재 행 복사