23.03.07 Day26

오윤범·2023년 3월 7일
0
post-custom-banner

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) 출력

post-custom-banner

0개의 댓글