PyQt5
QtDesigner 다운 및 실행
cmd - pip install PyQt5Designer
C:\DEV\Language\Python311\Lib\site-packages\QtDesigner - designer.exe 실행다음과 같이 Qt Designer을 통해 디자인을 하여 mainApp.ui로 저장 후 다음과 같이 디자인 파일을 vsc에서 불러와서 실행할 수 있음
# Qt Designer 디자인 사용 import sys from PyQt5 import QtGui,uic,QtWidgets from PyQt5.QtWidgets import * class qtApp(QWidget): def __init__(self): super().__init__() uic.loadUi('./PyQt_Practice/mainApp.ui',self) if __name__=='__main__': app=QApplication(sys.argv) ex=qtApp() ex.show() sys.exit(app.exec_())
Qt Designer
# Qt Designer 디자인 사용 import sys from PyQt5 import QtGui,uic,QtWidgets from PyQt5.QtWidgets import * class qtApp(QWidget): count=0#버튼클릭횟수 def __init__(self): super().__init__() uic.loadUi('./PyQt_Practice/mainApp.ui',self) #Qt Designer에서 구상한 위젯 시그널 만듬 self.btnok.clicked.connect(self.btnokClicked) self.btnpop.clicked.connect(self.btnpopClicked) def btnokClicked(self) : #슬롯함수 self.count+=1 self.lblMessage.clear() self.lblMessage.setText(f'메시지: OK Clicked! 버튼클릭횟수: {self.count}') def btnpopClicked(self): QMessageBox.about(self,'popup','까꿍') if __name__=='__main__': app=QApplication(sys.argv) ex=qtApp() ex.show() sys.exit(app.exec_())
백준 10798번 세로읽기
grid=[] for _ in range(5): grid.append(input()) for i in range(15): for j in range(5):#5줄 if i<len(grid[j]): print(grid[j][i],end='')
1) grid라는 배열에 사용자 입력을 받아서 바로 추가함/ grid=['ABCDE','abcde',01234,'FGHIJ','fghij']
2) 최대 15글자이기에 바깥 for문 -> 15 / 5줄이기에 안쪽 for문 -> 5
3) i<len(grid[j]) --> i가 세로줄의 인덱스를 의미하기에 i보다 grid[j] 즉 i의 인덱스보다 문자열의 길이가 더 길다면 찍어야 할 세로줄의 인덱스가 아직 남아있기다는 의미이기에 다음과 같이 조건문 설정
4) 출력