instance : self.이름, instance.이름
class속성: class이름 instance.이름 (class.이름 추가지원) -> 내부에서 차이남
widge(button,lineEdit) -> layout -> window (Qdialog함수) 이벤트 연결: connect (힘수이름)
STEP0) app=QApplication(sys.argv)
STEP1) window생성 dlg=QDialog() #window 생성 dlg.show() #화면에 보여줌
STEP2) layout생성 vbox=QVBoxLayout()
STEP3) widget추가 -> layout 등록
btn = QPushButton('클릭')
btn.clicked.connect(fn)
lineEdit=QLineEdit()
vbox.addWidget(btn) vbox.addWidget(lineEdit)
STEP4) layout->window dlg.setLayout(vbox)
SETP6) app.exec() # 큐메모리 감시 무한 loop
STEP1) class 생성
- ui + event
- ui: desinger(xml)대체함
- event만 만들어주면됨
STEP2) class호출 app = QApplication(sys.argv) myWin = MyWin() # class호출 app.exec()
self.dlg.pushButton.clicked.connect(self.fn) //버턴 클릭
self.dlg.lineEdit.textChanged.connect(self.txtChange) //LineEdit 내용변경
-get: GUI에 보이는 변수이름 활용 -set: set+변수이름사용
-getter : text(), value() -setter : setText('코리아'), setPixmap(QPixmap(파일이름))
self.dlg.lineEdit.text() // get(text가져옴) self.dlg.lineEdit.setText('코리아') // setText(set)
n1=self.dlg.spinBox.value() //get (value 가져옴)
self.dlg.label_4.setPixmap(QPixmap('bi01.jpg')) //setPixmap(set)
self.dlg.dateEdit.setDate(QDate(2022,2,21) ) // 기본값 설정(setter)
self.dlg.dateEdit.date() // getter(class반환) s = f'{dt.year()}년 {dt.month()}월 {dt.day()}일' self.dlg.lineEdit.setText(s)