지난번까지해서 비록 콘솔(cmd)창에서 실행되지만 써먹을 수 있는 프로그램을 개발했습니다
하지만 사용자 입장에서 정말 불편한 것은 사실입니다
그래서 파이썬 pyqt5를 이용해서 진행해보려 합니다
짧은 시간동안 열심히 공부도 했고 이것저것 테스트 해보면서 개발을 진행했습니다
또한, 화도사랑의교회 지인분이랑 대화도 꾸준히 하면서 진행했습니다
"~부분이 있으면 좋겠다"
라고 하면 그 부분은 개발해줬습니다
그리고 안타까운 소식을 들은게
다른 여타 교회들도 이런 교회 재정프로그램을 매번 비싼돈을 주면서 계속 프로그램을 연장한다고 하더군요
좀 안타까웠습니다
화도사랑의교회 뿐 아니라 여타 다른 교회들도 교회 재정프로그램을 만들어주고 싶은 마음이네요
개인적으로 취업이나 금전적인 문제도 있긴하지만요
뭐 아무튼 파이썬의 pyqt5를 이용해서 사용자가 시각적, UI적으로 쉽게 보이게 진행했습니다
먼저 기본적인 레이아웃을 잡았습니다
QMainWindow를 상속하는 클래스를 만들었구요
위치, 사이즈, 고정 사이즈 등을 잡았습니다.
프로그램은 화도사랑교회에 맞추었다보니 title을 화도사랑교회 재정 관리로 잡았습니다~
그리고 총 7개의 탭을 잡았습니다~
각각에 메뉴에 대해 탭이 다 다릅니다
입금관리, 출금관리 등등으로요!
또한 각 탭 별 기능은 전부 함수화 했습니다
그래야 관리도 쉽고 보기도 쉽기 때문이죠
이왕 하는거 부품별로 분리해놓으면 좋잖아요 ㅎㅎ
이 함수는 첫번째 탭에 대한 함수의 일부분입니다
각 함수별로 필요한 기능이 들어가있습니다
이 부분은 입금에 대한 탭이기에 입금에 대해서 있습니다
이 부분은 3번째 탭에 대해 설명합니다
날짜에 대한 검색이라서 날짜를 입력받습니다
그리고 각 탭에 있는 버튼에 대한 기능들도 다 함수화 되어 있습니다
클릭했을 때 값을 가지고 오는 방식입니다
그래서 이 값으로 DB와 연동해 작업을 처리하죠
이 함수들도 다 마찬가지로 기능에 대한 함수입니다
이렇게 모듈화 시켜서 관리도 편하고, 나중에 수정사항 발생 시 빠르게 찾을 수 있게 해놨습니다
근데 개발하면서 여러가지 문제점이 발생되더군요(역시.. 쉽게 되지 않습니다)
사실 이거 pyqt5 진행 자체가 계속 문제점이 있었는데요
그 중에서 특히 문제점이 되었던 것이 있습니다
먼저 이 문제였습니다
만약 사용자가 출금에 대한 대분류를 입력하고 누르면
addwidget이기 때문에 위젯이 더해지게 됩니다
그리고 사용자는 소분류 선택 및 금액을 작성하고 입력 버튼을 누르면 데이터베이스에 저장됩니다
그런데 여기서 사용자가 처음부터 한번 진행하게 되면 화면이 refresh 되지 않고 밑에 추가가 되는 것입니다!
우어으아아아ㅓ어 처음엔 완전 멘붕이었죠
아 그래서 어떤 꾀를 쓰면 될까 했습니다
구글링을 하다보니 아래와 같이 하면 되더군요
이 방법을 사용하면 현재 레이아웃의 위젯들을 전부 없애버려줍니다!
그리고 어차피 그려주는거야 함수화 시켰으니까 그려주는 함수를 호출하면 끝!
간단하지만... 나름 오래걸렸어요 ㅠ
그리고 또 하나의 문제점이 있더라고요
바로 데이터베이스에 저장되어 있는 개수가 많으면
출력 시 화면이 초과되서 깨진다는 겁니다 ㅠㅠ
스크롤바도 없고 마우스 드래그도 안되고
하.. 참 난처했어요
그래서 혹시 스크롤바 레이아웃이 있지 않을까?
해서 scrollarea를 찾았습니다
해당 적용 방법은 블로그에 올려놨습니다
짠! 이런 모습이 되었어요
이제 얼추 동작이 됩니다!
사용자가 원하면 취소도 되고요!
신도 이름을 검색하면 출력도 됩니다!
와 이제 얼추 맞추어가네요 ㅎㅎ
기능을 추가할 것이 있는지 그리고 화도사랑의교회 지인분들이 여러 테스트를 진행해보고
추가 업데이트 및 수정사항을 반영하려고 합니다!
재정프로그램 모습이 좀 갖추어져 가네요!
'python' 카테고리의 다른 글
IT 봉사 - 교회봉사 교회(화도사랑의교회) 재정 프로그램 개발5 (0) | 2018.01.26 |
---|---|
파이썬 pyqt5 비밀번호(password) 입력하기 (0) | 2018.01.26 |
파이썬 pyqt5 스크롤 영역(scroll area), 스크롤바 화면 만들기 (0) | 2018.01.25 |
파이썬 gui(PyQt5) 탭(tab) 만들기 (2) | 2018.01.25 |
파이썬 GUI 설치 및 예제 실행 - pyqt5 설치 (0) | 2018.01.24 |