PyQt5를 사용하다 보면 파일 위치를 선택하여 어떤 실행을 누르고 싶을 때가 많이 있습니다.
예를 들어 특정 데이터가 저장된 .csv 파일을 가져와서 데이터를 연산하고자 할 때, 사진을 가져와서 편집을 할 때 등등...
그럴 때 대부분 책에서는 python 코드로 작성하여하는 경우가 많습니다.
(초보분들이 주로 하는방법인데 제가 생각했을 때는 더 어려운 거 같아요.)
PyQt5 를 이용하다 보면 코드로 UI 를 만드는 것보다 Qt designer을 이용하여 UI를 직접 변경하는 게 좋습니다.
최종적인 형태는 아래 사진과 같습니다.
그럼 천천히 따라해보시죠~
- pip install PyQt5 : PyQt5를 설치합니다.
- cmd -> (아나콘다 이용하시는 분들께서는 ) conda activate "프로젝트 이름" -> designer 입력
- Qt designer 가 실행됩니다.
여기까지는 다들 아실 테고 다음부터 집중하시죠.
1. 위젯 상자에서 Buttons (항목) -> "Push Button" 드래그해서 가져오기
2. "Push Button"을 "파일 선택"이라고 이름을 변경합니다. (이름은 마음대로 쓰셔도 됩니다.)
3. 여기서 유심해 봐야 할 게 있습니다. objectName : pushButton ("Push Button"와 다름 ) 이 python에서 쓰는 변수입니다. 여기서 다른 걸로 변경해도 좋고 그대로 사용하셔도 됩니다. 여기서는 그대로 써보겠습니다.
4. 파이썬 파일과 UI를 연동해보겠습니다.
( uic.loadUiType("tistory.ui")[0] 부분은 다음에 따로 다뤄드리겠습니다.)
위에서 objectName : pushButton 을 그대로 initUI 함수 밑에 적어둡니다.
self.pushButton.clicked.connect(self.fileopen) : UI에서 pushButton라는 함수를 클릭하면 파이썬 파일 내 fileopen 함수를 연결시킨다.
fileopen이라는 함수를 따로 아래처럼 정의해줍니다.
filename = QtWidgets.QFileDialog.getOpenFileName(self, 'Open File')
라고 선언해주고, 다른 함수에서 filename을 가져다 쓰면 됩니다!!
print(filename)을 하면 알다시피 tuple 형태로 주소를 리턴해줍니다.
UI 화면과 코드를 연결하는 연습을 많이 하는 게 좋습니다!
'IT > PyQt5' 카테고리의 다른 글
[PyQt5] 탭(tab) 순서 설정하기 (0) | 2020.12.09 |
---|---|
[PyQt5] 비밀번호(password)를 마스킹 처리 하기 (0) | 2020.12.01 |