요 몇 년간 너무 스스로에 대한 발전에는 소홀히 하고,
자꾸 기존의 것들이 잊혀져가는 느낌이라 시작했던 나만의 프로젝트.
요즘 대세라는 Python으로 윈도우 어플 만들기의 끝이 어느정도 보인다.
그리고 Python으로 윈도우 어플을 만들기 위한 다양한 방법들 중 선택한 PyQt
어플을 만들려면 UI코드가 워낙에 많으니 자동화해주는 툴도 잘 써야 손이 편하다ㅎㅎ
처음에는 QT Designer를 실행시켜서 어플을 위한 버튼이나 라벨 같은 것들을 드래그해서 만들고
줄 맞춤점도 하고 python 코드로 변환하고 했는데...
사용하다 보니 UI는 계속 조금씩 바뀌고, 그때마다 UI코드를 머지하거나, 코드를 수정해야 하는 일이 많아지게 된다.
하지만 QT Desiagner에서 이런저런 세팅을 미리 해 두면 이런 것들이 한결 수월하다는 점을 발견해서 정리해둔다.
앞으로 또 발견될 때마다 기록해두려고 한다.
변수명 미리 선언하기
QT Designer로 각족 오브젝트들을 만들고 그냥 python 코드로 변환하면
각 오브젝트들의 변수명이 너무 컴퓨터스럽게 형성된다.
예를 들어 라벨을 3개 넣으면 변수명이 self.label1, self.label2, self.label3 이렇게 설정된다;;;
그러면 나중에 실제 코딩할 때 알아보기도 힘들고 코드가 커질수록 일이 많다.
그래서 방법은 Designer 안에서 변수명을 미리미리 입력해두면 좋다.
QTextEdit 오브젝트를 만들고 선택하면 우측 객체 탐색기에서 해당 오브젝트에 Focus가 간다.
그 상태에서 왼쪽 이름 부분을 더블클릭하면 이름을 변경할 수 있고,
이때 입력한 이름이 해당 오브젝트의 변수명으로 이후에 python 코드 변환 시 설정된다.
Default 설정값 미리 세팅해두기
변수명을 미리 세팅해놓는 것 다음으로 코딩량을 줄여주는 팁은 바로 Default 설정값을 미리 세팅해두는 방법이다.
앱을 처음 실행했을 때의 상태 값을 미리 지정해두는 것으로,
중간중간 UI가 변경돼도 머지할 코드가 획기적으로 줄어든다.
아까 생성한 QTextEdit 를 앱시작시에는 기본적으로 Disable 하고 싶은 경우,
우측 속성 편집기에서 enabled를 체크 해제한다.
그럼 해당 오브젝트에 대해 python 코드로 변환될 때 자동으로 setDisabled(TRUE) 가 생성되어 나온다.
우선 지금 만들고 있는 매우 간단한 형태의 어플은 지금까지 정도의 세팅만으로 충분했다.
앞으로 좀 더 복잡한 어플 기능을 만들어야 한다면 더 많은 Designer 세팅을 하게 될 것 같다ㅎㅎ
'IT, Software > Python' 카테고리의 다른 글
Python 특정 문자열을 찾아 텍스트 분할하는 코드 (0) | 2021.02.04 |
---|---|
Python PyQt로 윈도우 어플 만들기 - Thread 정보 UI에 업데이트하기 (0) | 2021.01.27 |
Python OS 패키지 활용 윈도우 파일명 변경하기 (0) | 2021.01.22 |
Python String, Datetime 변환하는 방법 (0) | 2020.12.09 |
Python PIL활용 exif 사진 촬영날짜 확인하기 (0) | 2020.11.25 |
댓글